İçeriğe geç

Kontrol

Bir senaryonun yürütme akışını beş kutu yönetir.

Hatırlatma: her kutuda ayrıca örtük in, error ve done portları bulunur — bkz. Portlar ve bağlantılar.

Senaryonun parametrelerini bildirir.

Girişleryok
Çıkışlarvalue{ name: value, … } biçiminde tek bir nesne
Yapılandırmaname (parametrenin adı), valueType (türü ve varsayılan değeri)

Değerler başlatma anında verilir: komut satırında --param name=value ile ya da çalıştırma kutuya elinde değer olmadan ulaştığında etkileşimli olarak sorularak.

Input “baseUrl” (dize) ──► isteğin env portu

Senaryoyu çağırana bir sonuç sunar.

Girişlervalue
Çıkışlaryok — bu bir uç düğümdür: ne error ne de done portu vardır
Yapılandırmaname

Bir Senaryoyu çalıştır eylemiyle çağrılan senaryo, her çıkışını çağıranın output:<name> portunda kullanılabilir kılar.

İki yollu dallanma.

Girişlerleft, right
Çıkışlarthen, else
Yapılandırmaoperator: lt, lte, eq, gte, gt, ne, contains — ayrıca sabit değer olarak left ve right

İpucu: hiçbir işlenen bağlanmamış ve girilmemişse kutu yalnızca in portunda alınan sinyalin doğruluğunu sınar. Bu, açık bir koşul yazmadan “buraya kadar geldiysek” demenin yoludur.

N yollu dallanma.

Girişleron
Çıkışlarbildirilen her durum için bir case-<id> portu, artı default
Yapılandırmacases: { id, value } öğelerinden oluşan bir liste

İkiden fazla sonuç olduğu anda art arda dizilmiş If kutularına yeğlenir: her durum ayrı bir tel olur, görsel olarak okunabilir.

Hatadan toparlanma sınırı.

GirişlermaxAttempts, delay
Çıkışlarattempt (her deneme), exhausted (denemeler tükendi)
Yapılandırmaaşağıya bakın
AlanVarsayılanRol
maxAttempts3En fazla deneme sayısı
backofffixedfixed, linear veya exponential
delay + delayUnitTemel gecikme (ms, s, min)
factor2Üstel modda büyüme katsayısı
maxDelay + maxDelayUnitGecikmenin üst sınırı
retryOnErrortrueHata durumunda yeniden dene
retryOnFailurefalseİş kuralı başarısızlığında yeniden dene
retryOnStatusHTTP durum kodu listesi, örneğin [429, 503]

attempt portuna bağlanan alt grafik, yeniden denenen kapsamı oluşturur. Başarı durumunda çıkış done üzerinden olur. Bu kutunun error portu yoktur: sınırın kendisi odur.

Retry (3, üstel, [429,503])
├─ attempt ──► HTTP isteği ──► Assert
└─ exhausted ──► Throw “servis kullanılamıyor”