Kontrollflöde
Fem boxar styr körningsflödet i ett scenario.
Påminnelse: varje box har också de implicita portarna in, error och done —
se Portar och kopplingar.
Input / Param (ingång / parameter)
Section titled “Input / Param (ingång / parameter)”Deklarerar scenariots parametrar.
| Ingångar | inga |
| Utgångar | value — ett enda objekt { namn: värde, … } |
| Konfiguration | name (parameterns namn), valueType (dess typ och dess standardvärde) |
Värdena anges vid start, med --param namn=värde på kommandoraden, eller
efterfrågas interaktivt om körningen når boxen utan att något värde finns
tillgängligt.
Ingång ”baseUrl” (sträng) ──► begärans env-portOutput / Return (utgång / retur)
Section titled “Output / Return (utgång / retur)”Exponerar ett resultat för den som anropar scenariot.
| Ingångar | value |
| Utgångar | inga — det är en sänka: varken error eller done |
| Konfiguration | name |
Ett scenario som anropas av en åtgärd Kör scenario gör var och en av sina
utgångar tillgänglig på anroparens port output:<namn>.
If (om)
Section titled “If (om)”Förgrening med två vägar.
| Ingångar | left, right |
| Utgångar | then, else |
| Konfiguration | operator: lt, lte, eq, gte, gt, ne, contains — plus left och right som literala värden |
Tips: om ingen operand är kopplad eller ifylld testar boxen helt enkelt om
signalen som togs emot på in är sann. Det är ”om vi har kommit ända hit” utan
något uttalat villkor.
Switch (växling)
Section titled “Switch (växling)”Förgrening med N vägar.
| Ingångar | on |
| Utgångar | en port case-<id> per deklarerat fall, plus default |
| Konfiguration | cases: en lista av { id, value } |
Att föredra framför en kaskad av If så snart det finns fler än två utfall: varje fall är en egen tråd, visuellt läsbar.
Retry (försök igen)
Section titled “Retry (försök igen)”Gräns för återhämtning vid fel.
| Ingångar | maxAttempts, delay |
| Utgångar | attempt (varje försök), exhausted (försöken är förbrukade) |
| Konfiguration | se nedan |
| Fält | Standard | Roll |
|---|---|---|
maxAttempts | 3 | Högsta antal försök |
backoff | fixed | fixed, linear eller exponential |
delay + delayUnit | — | Grundfördröjning (ms, s, min) |
factor | 2 | Tillväxtfaktor i exponentiellt läge |
maxDelay + maxDelayUnit | — | Tak för fördröjningen |
retryOnError | true | Försök igen vid ett fel |
retryOnFailure | false | Försök igen vid ett verksamhetsmässigt misslyckande |
retryOnStatus | — | Lista av HTTP-statusar, till exempel [429, 503] |
Delgrafen som är kopplad till attempt utgör det omfång som görs om. Vid
lyckat resultat sker utgången via done. Den här boxen har ingen error-port:
den är själv gränsen.
Retry (3, exponentiell, [429,503]) ├─ attempt ──► HTTP-begäran ──► Assert └─ exhausted ──► Throw ”tjänsten är inte tillgänglig”