Tüm Ürünler
Search
Belge Merkezi

CloudFlow:Parallel state

Son Güncelleme:Oct 06, 2026

Parallel state, birden fazla dalı aynı anda çalıştırır. Bir iş akışını eşzamanlı yollara bölmek için bu durumu kullanın; örneğin, verileri birkaç kaynaktan eşzamanlı olarak almak veya bildirimleri farklı kanallardan paralel şekilde göndermek gibi senaryolarda uygundur.

Nasıl çalışır

Bir Parallel state, bir veya daha fazla dal içerir ve her dal kendi alt durum dizisini barındırır. Çalışma zamanında:

  1. Parallel state tüm dalları eşzamanlı olarak başlatır.

  2. Her dal, alt durumlarını bağımsız olarak çalıştırır.

  3. Tüm dallar tamamlandıktan sonra, Parallel state sonuçları tek bir map[string]any çıktısında toplar. Her dalın sonucu, Branch<Index> adlı bir anahtar altında saklanır (örneğin, Branch0, Branch1).

  4. Bir OutputConstructor tanımlanmışsa, Parallel state birleştirilmiş çıktıyı dönüştürmek için bunu uygulayarak sonucu bir sonraki duruma iletir.

Sınırlamalar

  • Bir Parallel state başına maksimum dal sayısı: 50

Nitelikler

Parallel state nitelikleri

**Nitelik** **Tür** **Zorunlu** **Açıklama**
Name string Evet Durum adı.
Description string Hayır Durum açıklaması.
Type string Evet Durum türü. Parallel olarak ayarlayın.
InputConstructor map[string]any Hayır Girdiyi dallara iletmeden önce dönüştürür. Bkz. Girdiler ve çıktılar.
Branches ParallelBranch[] Evet Paralel olarak çalıştırılacak dallar. Bkz. ParallelBranch.
OutputConstructor map[string]any Hayır Birleştirilmiş dal sonuçlarını bir sonraki duruma iletmeden önce dönüştürür. "Girdiler ve çıktılar" bölümündeki Durum OutputConstructor'ı konusuna bakın.
Next string Hayır Parallel state tamamlandıktan sonra çalıştırılacak bir sonraki durum. End değeri true ise zorunlu değildir.
End bool Hayır Parallel state tamamlandıktan sonra mevcut kapsamın sonlandırılıp sonlandırılmayacağı.
Retry Retry Hayır Yeniden deneme ilkesi. Bkz. Hata yönetimi.
Catch Catch Hayır Yakalama ilkesi. Bkz. Hata yönetimi.

ParallelBranch

ParallelBranch nitelikleri

**Nitelik** **Tür** **Zorunlu** **Açıklama**
States array Evet Dal içindeki durum dizisi.
StartAt string Evet Dalda çalıştırılacak ilk durumun adı.

Örnek

Aşağıdaki iş akışı, iki dal içeren Parallel1 adlı bir Parallel state tanımlar. Her dal, statik bir çıktı üreten tek bir Pass durumu içerir.

Type: StateMachine
Name: my-wkfl
SpecVersion: v1
StartAt: Parallel1
States:
  - Type: Parallel
    Name: Parallel1
    End: true
    Branches:
      - StartAt: Pass1
        States:
          - Type: Pass
            Name: Pass1
            End: true
            OutputConstructor:
              FieldA: 123
      - StartAt: Pass2
        States:
          - Type: Pass
            InputConstructor:
              FieldA: 321
            Name: Pass2
            End: true

Dal çıktısı

Her dal kendi çıktısını bağımsız olarak üretir:

  • Pass1 çıktısı (Branch0):

      {
          "FieldA": 123
      }
  • Pass2 çıktısı (Branch1):

      {
          "FieldA": 321
      }

Birleştirilmiş Parallel state çıktısı

Parallel state, tüm dal çıktılarını tek bir haritada birleştirir. Her dala Branch<Index> biçiminde varsayılan bir anahtar atanır:

{
    "Branch0": {
        "FieldA": 123
    },
    "Branch1": {
        "FieldA": 321
    }
}

Sonraki adımlar

  • Girdiler ve çıktılar: Durumlar arasında akan verileri InputConstructor ve OutputConstructor ile dönüştürün.

  • Hata yönetimi: Dal hatalarını işlemek için Retry ve Catch ilkelerini yapılandırın.