Ana içeriğe geç

Bir Alt İş Akışı Başlatma ve Üst İş Akışının Devamını Denetleme

Amaç

Seçilen her satır için bir alt iş akışı başlatın ve üst iş akışının hemen devam mı edeceğini, yoksa alt iş akışlarının tamamlanıp sonuçlarını eşitlemesini mi bekleyeceğini açıkça seçin.

Neler Öğreneceksiniz

  • Alt iş akışı oluşturmayı yinelenen XML satırlarına bağlama
  • Devam et ve bekle modları arasında seçim yapma
  • Alt iş akışı sonuçlarını kararlı satır kimlikleriyle ilişkilendirme ve eşitleme

Zorluk ve Tahmini Süre

  • Zorluk: İleri
  • Tahmini süre: 25 dakika

Varsayılan Bilgiler

Havuzları, modül görevlerini, yinelenen XML satırlarını ve parent/child süreç verilerini anlamanız gerekir.

Gerekli Okumalar

Ön Koşullar

  • İki havuz içeren bir tanımı içe aktarma izni
  • altında bir veya daha fazla test satırı Items/Item, her birinde kararlı bir Id

Örneğe Genel Bakış

Üst havuzda bir alt iş akışı modülü ve bir tamamlama görevi bulunur. Alt havuzda, üst havuzun ilettiği satırı güncelleyen bir görev bulunur.

Adımlar

Alt İş Akışlarını Satırlara Bağlama

Alt iş akışı modülünü şu şekilde yapılandırın:

1
2
3
4
5
6
<SubWorkflow Pool="..." Task="..." Mode="WaitForAllChildsToComplete">
  <XPath><![CDATA[Items/Item]]></XPath>
  <ConditionXPath><![CDATA[not(@State = 'Deleted')]]></ConditionXPath>
  <RowIdXPath><![CDATA[Id]]></RowIdXPath>
  <SyncXPath><![CDATA[Items/Item]]></SyncXPath>
</SubWorkflow>

RowIdXPath kararlı ilişkilendirme sağlar. Satır ekleme veya silme konumunu değiştirebileceğinden satır konumunu kullanmayın.

Üst İş Akışının Davranışını Seçme

  • CreateInstancesAndContinue alt iş akışlarını başlatır ve üst iş akışının hemen sonraki adıma yönlenmesini sağlar.
  • WaitForAllChildsToComplete her alt iş akışı tamamlanana kadar modülü duraklatır.
  • SynchronizeChildInstancesAndContinue daha sonraki eşitleme tasarımın bir parçası olarak kalırken üst iş akışının devam etmesi gerektiğinde kullanışlıdır.

İndirilebilir örnekte WaitForAllChildsToComplete son üst görev eşitlenmiş durumu doğrulayabilsin diye kullanılır.

Nasıl Çalışır

Modül kaynak satırları seçer, eşleşen her satır için bir alt iş akışı başlatır ve sonuçları Idile ilişkilendirir. Bekleme, iş akışı zamanlamasını; eşitleme ise alt iş akışı verilerinin nasıl geri döneceğini denetler. Bunlar birbirinden ayrı tasarım kararlarıdır.

Sonucu Doğrulama

  1. Tanımı içe aktarın ve farklı kimliklere sahip iki satır ekleyin.
  2. Alt iş akışı aksiyonunu başlatın ve iki alt görev oluşturulduğunu doğrulayın.
  3. Bir alt görevi tamamlayın ve üst iş akışının hâlâ beklediğini doğrulayın.
  4. İkinci alt görevi tamamlayın ve her iki satırın durumu eşitlenmiş olarak üst iş akışının ilerlediğini doğrulayın.
  5. Bir kopyada şu moda geçin: CreateInstancesAndContinue ve üst iş akışının hemen ilerlediğini doğrulayın.

Hata ve Sınır Durumları

  • Yinelenen veya boş satır kimlikleri, alt iş akışı oluşturulmadan önce reddedilmelidir.
  • Süresiz beklemek yerine, iptal edilen veya başarısız olan bir alt iş akışında üst iş akışının ne yapacağına karar verin.
  • Silinmiş satırların yeni alt iş akışları başlatmasına izin vermeyin.

Güvenlik ve Taşınabilirlik Notları

  • Her iki havuz da geçerli kiracıda yürütülür; içe aktardıktan sonra alt görev rollerini yapılandırın.
  • Yalnızca alt iş akışının ihtiyaç duyduğu verileri iletin ve alt iş akışı tarafındaki aksiyonlar için yetkilendirmeyi yeniden denetleyin.
  • Kararlı ilişkilendirme kimliklerini koruyun ve modülün iki kez çalışmasına izin vermeden önce yeniden deneme davranışını tanımlayın.

İndirin ve Kendiniz Deneyin

İndirin: parent/child iş akışı tanımını.

Sorun Giderme

  • Alt iş akışı oluşturulmuyor: Satır XPath'ini, koşulu, hedef havuzu ve hedef görevi denetleyin.
  • Sonuçlar yanlış satırı güncelliyor: Her satırın benzersiz ve kararlı bir Id kimliğe ve aynı eşitleme yoluna sahip olduğunu doğrulayın.
  • Üst iş akışı hiç ilerlemiyor: Her alt iş akışının terminal duruma ulaştığını doğrulayın ve seçilen modu gözden geçirin.

Sırada Ne Öğrenmeli?