Vezérlés
Öt blokk vezérli egy forgatókönyv végrehajtási folyamát.
Emlékeztető: minden blokk rendelkezik az implicit in, error és done
porttal is — lásd: Portok és társítások.
Input / Param (bemenet / paraméter)
Section titled “Input / Param (bemenet / paraméter)”A forgatókönyv paramétereit deklarálja.
| Bemenetek | nincs |
| Kimenetek | value — egyetlen objektum: { name: value, … } |
| Konfiguráció | name (a paraméter neve), valueType (a típusa és az alapértelmezett értéke) |
Az értékek indításkor adhatók meg, a parancssori --param name=value
kapcsolóval, vagy a rendszer interaktívan bekéri őket, ha a futtatás
elérhető érték nélkül jut el a blokkhoz.
Bemenet „baseUrl” (karakterlánc) ──► a kérés env portjaOutput / Return (kimenet / visszatérés)
Section titled “Output / Return (kimenet / visszatérés)”Egy eredményt tesz elérhetővé a forgatókönyv hívója számára.
| Bemenetek | value |
| Kimenetek | nincs — ez egy gyűjtőpont: se error, se done |
| Konfiguráció | name |
Az a forgatókönyv, amelyet egy Forgatókönyv futtatása művelet hív meg,
minden kimenetét elérhetővé teszi a hívó output:<name> portján.
If (ha)
Section titled “If (ha)”Kétirányú elágazás.
| Bemenetek | left, right |
| Kimenetek | then, else |
| Konfiguráció | operator: lt, lte, eq, gte, gt, ne, contains — továbbá left és right literális értékként |
Tipp: ha egyik operandus sincs bekötve és kitöltve sem, a blokk egyszerűen
az in porton kapott jelzés igazságértékét vizsgálja. Ez a „ha egyáltalán
eljutottunk ide” eset, explicit feltétel nélkül.
Switch (választó)
Section titled “Switch (választó)”N irányú elágazás.
| Bemenetek | on |
| Kimenetek | egy case-<id> port minden deklarált esethez, valamint default |
| Konfiguráció | cases: { id, value } elemek listája |
Kettőnél több kimenet esetén jobb választás, mint az If blokkok láncolata: minden eset önálló, vizuálisan jól követhető szál.
Retry (újrapróbálkozás)
Section titled “Retry (újrapróbálkozás)”A hiba utáni újrapróbálkozás határa.
| Bemenetek | maxAttempts, delay |
| Kimenetek | attempt (minden próbálkozás), exhausted (elfogytak a próbálkozások) |
| Konfiguráció | lásd alább |
| Mező | Alapértelmezés | Szerep |
|---|---|---|
maxAttempts | 3 | A próbálkozások maximális száma |
backoff | fixed | fixed, linear vagy exponential |
delay + delayUnit | — | Alapkésleltetés (ms, s, min) |
factor | 2 | Növekedési tényező exponenciális módban |
maxDelay + maxDelayUnit | — | A késleltetés felső korlátja |
retryOnError | true | Újrapróbálkozás hiba esetén |
retryOnFailure | false | Újrapróbálkozás üzleti szintű sikertelenség esetén |
retryOnStatus | — | HTTP-státuszok listája, például [429, 503] |
Az attempt portra kötött részgráf adja az újrapróbált hatókört. Siker esetén
a kilépés a done porton történik. Ennek a blokknak nincs error portja:
maga a blokk a határ.
Retry (3, exponenciális, [429,503]) ├─ attempt ──► HTTP-kérés ──► Assert └─ exhausted ──► Throw „a szolgáltatás nem elérhető”