Siirry sisältöön

Ohjaus

Viisi lohkoa ohjaa skenaarion suoritusvuota.

Muistutus: jokaisella lohkolla on myös implisiittiset portit in, error ja done — katso Portit ja kytkennät.

Määrittelee skenaarion parametrit.

Tulotei mitään
Lähdötvalueyksi ainoa objekti { name: value, … }
Kokoonpanoname (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-portti

Tarjoaa tuloksen skenaarion kutsujalle.

Tulotvalue
Lähdötei mitään — tämä on nielu: ei error- eikä done-porttia
Kokoonpanoname

Skenaario, jota kutsutaan Suorita skenaario -toiminnolla, asettaa jokaisen lähtönsä kutsujan portille output:<name>.

Kaksihaarainen haarautuminen.

Tulotleft, right
Lähdötthen, else
Kokoonpanooperator: 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.

N-haarainen haarautuminen.

Tuloton
Lähdötyksi portti case-<id> jokaista määriteltyä tapausta kohden, lisäksi default
Kokoonpanocases: 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ä.

Virheestä toipumisen raja.

TulotmaxAttempts, delay
Lähdötattempt (jokainen yritys), exhausted (yritykset käytetty)
Kokoonpanokatso alta
KenttäOletusTehtävä
maxAttempts3Yritysten enimmäismäärä
backofffixedfixed, linear tai exponential
delay + delayUnitPerusviive (ms, s, min)
factor2Kasvukerroin eksponentiaalisessa tilassa
maxDelay + maxDelayUnitViiveen yläraja
retryOnErrortrueYritä uudelleen virheen jälkeen
retryOnFailurefalseYritä uudelleen toiminnallisen epäonnistumisen jälkeen
retryOnStatusLuettelo 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ä”