Sari la conținut

Control

Cinci cutii controlează fluxul de execuție al unui scenariu.

Reamintire: orice cutie are și porturile implicite in, error și done — vedeți Porturi și legături.

Declară parametrii scenariului.

Intrăriniciuna
Ieșirivalue — un obiect unic { name: value, … }
Configurarename (numele parametrului), valueType (tipul său și valoarea sa implicită)

Valorile sunt furnizate la lansare, prin --param name=value în linia de comandă, sau cerute interactiv, dacă execuția ajunge la cutie fără o valoare disponibilă.

Intrare „baseUrl” (șir) ──► portul env al cererii

Expune un rezultat apelantului scenariului.

Intrărivalue
Ieșiriniciuna — este un puț: nici error, nici done
Configurarename

Un scenariu apelat de o acțiune Rulează scenariul face fiecare dintre ieșirile sale disponibilă pe portul output:<name> al apelantului.

Ramificare cu două căi.

Intrărileft, right
Ieșirithen, else
Configurareoperator: lt, lte, eq, gte, gt, ne, contains — plus left și right ca valori literale

Sfat: dacă niciun operand nu este cablat sau completat, cutia testează pur și simplu veridicitatea semnalului primit pe in. Este acel „dacă am ajuns până aici”, fără o condiție explicită.

Ramificare cu N căi.

Intrărion
Ieșiricâte un port case-<id> pentru fiecare caz declarat, plus default
Configurarecases: o listă de { id, value }

De preferat unei cascade de If de îndată ce există mai mult de două ieșiri: fiecare caz este un fir distinct, lizibil vizual.

Frontieră de reluare în caz de eroare.

IntrărimaxAttempts, delay
Ieșiriattempt (fiecare încercare), exhausted (încercări epuizate)
Configurarevedeți mai jos
CâmpImplicitRol
maxAttempts3Numărul maxim de încercări
backofffixedfixed, linear sau exponential
delay + delayUnitIntervalul de bază (ms, s, min)
factor2Factorul de creștere în mod exponențial
maxDelay + maxDelayUnitPlafonul intervalului
retryOnErrortrueReîncercare la o eroare
retryOnFailurefalseReîncercare la un eșec de business
retryOnStatusListă de stări HTTP, de exemplu [429, 503]

Subgraful conectat la attempt constituie domeniul reîncercat. În caz de succes, ieșirea se face prin done. Această cutie nu are port error: ea este frontiera.

Reîncercare (3, exponențial, [429,503])
├─ attempt ──► Cerere HTTP ──► Assert
└─ exhausted ──► Throw „serviciu indisponibil”