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.
Input / Param (giriş / parametre)
Section titled “Input / Param (giriş / parametre)”Senaryonun parametrelerini bildirir.
| Girişler | yok |
| Çıkışlar | value — { name: value, … } biçiminde tek bir nesne |
| Yapılandırma | name (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 portuOutput / Return (çıkış / dönüş)
Section titled “Output / Return (çıkış / dönüş)”Senaryoyu çağırana bir sonuç sunar.
| Girişler | value |
| Çıkışlar | yok — bu bir uç düğümdür: ne error ne de done portu vardır |
| Yapılandırma | name |
Bir Senaryoyu çalıştır eylemiyle çağrılan senaryo, her çıkışını çağıranın
output:<name> portunda kullanılabilir kılar.
If (eğer)
Section titled “If (eğer)”İki yollu dallanma.
| Girişler | left, right |
| Çıkışlar | then, else |
| Yapılandırma | operator: 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.
Switch (yönlendirme)
Section titled “Switch (yönlendirme)”N yollu dallanma.
| Girişler | on |
| Çıkışlar | bildirilen her durum için bir case-<id> portu, artı default |
| Yapılandırma | cases: { 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.
Retry (yeniden deneme)
Section titled “Retry (yeniden deneme)”Hatadan toparlanma sınırı.
| Girişler | maxAttempts, delay |
| Çıkışlar | attempt (her deneme), exhausted (denemeler tükendi) |
| Yapılandırma | aşağıya bakın |
| Alan | Varsayılan | Rol |
|---|---|---|
maxAttempts | 3 | En fazla deneme sayısı |
backoff | fixed | fixed, linear veya exponential |
delay + delayUnit | — | Temel gecikme (ms, s, min) |
factor | 2 | Üstel modda büyüme katsayısı |
maxDelay + maxDelayUnit | — | Gecikmenin üst sınırı |
retryOnError | true | Hata durumunda yeniden dene |
retryOnFailure | false | İş kuralı başarısızlığında yeniden dene |
retryOnStatus | — | HTTP 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”