Ohjaus
Viisi lohkoa ohjaa skenaarion suoritusvuota.
Muistutus: jokaisella lohkolla on myös implisiittiset portit in, error ja
done — katso Portit ja kytkennät.
Input / Param (syöte / parametri)
Section titled “Input / Param (syöte / parametri)”Määrittelee skenaarion parametrit.
| Tulot | ei mitään |
| Lähdöt | value — yksi ainoa objekti { name: value, … } |
| Kokoonpano | name (parametrin nimi), valueType (sen tyyppi ja oletusarvo) |
Arvot annetaan käynnistyksen yhteydessä komentorivillä valitsimella
--param name=value, tai niitä kysytään vuorovaikutteisesti, jos suoritus
saapuu lohkoon ilman käytettävissä olevaa arvoa.
Input ”baseUrl” (merkkijono) ──► pyynnön env-porttiOutput / Return (tuloste / palautus)
Section titled “Output / Return (tuloste / palautus)”Tarjoaa tuloksen skenaarion kutsujalle.
| Tulot | value |
| Lähdöt | ei mitään — tämä on nielu: ei error- eikä done-porttia |
| Kokoonpano | name |
Skenaario, jota kutsutaan Suorita skenaario -toiminnolla, asettaa jokaisen
lähtönsä kutsujan portille output:<name>.
If (jos)
Section titled “If (jos)”Kaksihaarainen haarautuminen.
| Tulot | left, right |
| Lähdöt | then, else |
| Kokoonpano | operator: lt, lte, eq, gte, gt, ne, contains — lisäksi left ja right literaaliarvoina |
Vihje: jos kumpaakaan operandia ei ole kytketty eikä täytetty, lohko testaa
yksinkertaisesti in-portissa saapuneen signaalin totuusarvon. Se on ”jos tähän
asti on päästy” ilman nimenomaista ehtoa.
Switch (valinta)
Section titled “Switch (valinta)”N-haarainen haarautuminen.
| Tulot | on |
| Lähdöt | yksi portti case-<id> jokaista määriteltyä tapausta kohden, lisäksi default |
| Kokoonpano | cases: luettelo muotoa { id, value } |
Parempi kuin If-lohkojen ketju heti kun mahdollisia lopputuloksia on enemmän kuin kaksi: jokainen tapaus on oma lankansa ja visuaalisesti selkeä.
Retry (yritä uudelleen)
Section titled “Retry (yritä uudelleen)”Virheestä toipumisen raja.
| Tulot | maxAttempts, delay |
| Lähdöt | attempt (jokainen yritys), exhausted (yritykset käytetty) |
| Kokoonpano | katso alta |
| Kenttä | Oletus | Tehtävä |
|---|---|---|
maxAttempts | 3 | Yritysten enimmäismäärä |
backoff | fixed | fixed, linear tai exponential |
delay + delayUnit | — | Perusviive (ms, s, min) |
factor | 2 | Kasvukerroin eksponentiaalisessa tilassa |
maxDelay + maxDelayUnit | — | Viiveen yläraja |
retryOnError | true | Yritä uudelleen virheen jälkeen |
retryOnFailure | false | Yritä uudelleen toiminnallisen epäonnistumisen jälkeen |
retryOnStatus | — | Luettelo HTTP-tiloista, esimerkiksi [429, 503] |
attempt-porttiin kytketty aligraafi muodostaa uudelleen yritettävän alueen.
Onnistumisen jälkeen ulos tullaan done-portista. Tällä lohkolla ei ole
error-porttia: se on itse raja.
Retry (3, eksponentiaalinen, [429,503]) ├─ attempt ──► HTTP-pyyntö ──► Assert └─ exhausted ──► Throw ”palvelu ei ole käytettävissä”