Kontroll
Fem bokser styrer kjøreflyten i et scenario.
Til påminnelse: alle bokser har også de implisitte portene in, error og
done — se Porter og forbindelser.
Input / Param (inndata / parameter)
Section titled “Input / Param (inndata / parameter)”Deklarerer parametrene til scenarioet.
| Inndata | ingen |
| Utdata | value — ett enkelt objekt { navn: verdi, … } |
| Konfigurasjon | name (navnet på parameteren), valueType (typen og standardverdien) |
Verdiene oppgis ved oppstart, med --param nom=valeur på kommandolinjen, eller
de etterspørres interaktivt hvis kjøringen når boksen uten at det finnes en
verdi.
Inndata «baseUrl» (streng) ──► env-porten på forespørselenOutput / Return (utdata / retur)
Section titled “Output / Return (utdata / retur)”Eksponerer et resultat for den som kaller scenarioet.
| Inndata | value |
| Utdata | ingen — dette er et sluk: verken error eller done |
| Konfigurasjon | name |
Et scenario som kalles av en Kjør scenario-handling, gjør hver av utgangene
sine tilgjengelig på porten output:<navn> hos den som kaller.
If (hvis)
Section titled “If (hvis)”Forgrening med to veier.
| Inndata | left, right |
| Utdata | then, else |
| Konfigurasjon | operator: lt, lte, eq, gte, gt, ne, contains — pluss left og right som litterale verdier |
Et tips: hvis ingen av operandene er koblet eller fylt ut, tester boksen
ganske enkelt sannhetsverdien til signalet som kommer inn på in. Det er
«hvis vi har kommet så langt» uten noen uttrykt betingelse.
Switch (veivalg)
Section titled “Switch (veivalg)”Forgrening med N veier.
| Inndata | on |
| Utdata | én case-<id>-port per deklarert tilfelle, pluss default |
| Konfigurasjon | cases: en liste med { id, value } |
Å foretrekke framfor en kaskade av If så snart det er mer enn to utfall: hvert tilfelle er en egen tråd, visuelt lesbar.
Retry (prøv på nytt)
Section titled “Retry (prøv på nytt)”Grense for gjenoppretting etter feil.
| Inndata | maxAttempts, delay |
| Utdata | attempt (hvert forsøk), exhausted (forsøkene er brukt opp) |
| Konfigurasjon | se nedenfor |
| Felt | Standard | Rolle |
|---|---|---|
maxAttempts | 3 | Maksimalt antall forsøk |
backoff | fixed | fixed, linear eller exponential |
delay + delayUnit | — | Grunnleggende forsinkelse (ms, s, min) |
factor | 2 | Vekstfaktor i eksponentiell modus |
maxDelay + maxDelayUnit | — | Tak for forsinkelsen |
retryOnError | true | Prøv på nytt ved en feil |
retryOnFailure | false | Prøv på nytt ved en forretningsmessig feil |
retryOnStatus | — | Liste over HTTP-statuser, for eksempel [429, 503] |
Delgrafen som er koblet til attempt, utgjør omfanget som prøves på nytt. Ved
suksess går utgangen via done. Denne boksen har ingen error-port: det er
den som er grensen.
Retry (3, eksponentiell, [429,503]) ├─ attempt ──► HTTP-forespørsel ──► Assert └─ exhausted ──► Throw «tjenesten er utilgjengelig»