Upravljanje
Pet kutija upravlja tijekom izvođenja scenarija.
Podsjetnik: svaka kutija ima i implicitne portove in, error i done —
pogledajte Portove i veze.
Input / Param (ulaz / parametar)
Section titled “Input / Param (ulaz / parametar)”Deklarira parametre scenarija.
| Ulazi | nema |
| Izlazi | value — jedan jedini objekt { name: value, … } |
| Konfiguracija | name (naziv parametra), valueType (njegov tip i zadana vrijednost) |
Vrijednosti se daju pri pokretanju, s --param name=value u naredbenoj liniji
ili se traže interaktivno ako izvođenje dosegne kutiju bez dostupne
vrijednosti.
Ulaz „baseUrl” (niz) ──► port env zahtjevaOutput / Return (izlaz / povrat)
Section titled “Output / Return (izlaz / povrat)”Izlaže rezultat pozivatelju scenarija.
| Ulazi | value |
| Izlazi | nema — to je ponor: ni error, ni done |
| Konfiguracija | name |
Scenarij koji poziva akcija Izvedi scenarij čini svaki od svojih izlaza
dostupnim na portu output:<name> pozivatelja.
If (ako)
Section titled “If (ako)”Grananje u dva smjera.
| Ulazi | left, right |
| Izlazi | then, else |
| Konfiguracija | operator: lt, lte, eq, gte, gt, ne, contains — plus left i right kao doslovne vrijednosti |
Savjet: ako nijedan operand nije ožičen ni popunjen, kutija jednostavno
provjerava istinitost signala primljenog na in. To je „ako smo stigli dovde”
bez izričitog uvjeta.
Switch (preusmjeravanje)
Section titled “Switch (preusmjeravanje)”Grananje u N smjerova.
| Ulazi | on |
| Izlazi | po jedan port case-<id> za svaki deklarirani slučaj, plus default |
| Konfiguracija | cases: popis oblika { id, value } |
Bolje od kaskade If kutija čim ima više od dva ishoda: svaki je slučaj zasebna nit, vizualno čitljiva.
Retry (ponovni pokušaj)
Section titled “Retry (ponovni pokušaj)”Granica oporavka od pogreške.
| Ulazi | maxAttempts, delay |
| Izlazi | attempt (svaki pokušaj), exhausted (pokušaji iscrpljeni) |
| Konfiguracija | vidi niže |
| Polje | Zadano | Uloga |
|---|---|---|
maxAttempts | 3 | Najveći broj pokušaja |
backoff | fixed | fixed, linear ili exponential |
delay + delayUnit | — | Osnovna odgoda (ms, s, min) |
factor | 2 | Faktor rasta u eksponencijalnom načinu |
maxDelay + maxDelayUnit | — | Gornja granica odgode |
retryOnError | true | Ponovi pri pogrešci |
retryOnFailure | false | Ponovi pri poslovnom neuspjehu |
retryOnStatus | — | Popis HTTP statusa, primjerice [429, 503] |
Podstablo priključeno na attempt čini opseg koji se ponavlja. U slučaju
uspjeha izlaz ide kroz done. Ta kutija nema port error: ona je sama ta
granica.
Retry (3, eksponencijalno, [429,503]) ├─ attempt ──► HTTP zahtjev ──► Assert └─ exhausted ──► Throw „usluga nedostupna”