Přeskočit na obsah

Cykly

Čtyři bloky. Všechny vysílají své tělo na vyhrazený výstup a konec práce oznamují svým portem done.

Iteruje přes seznam.

Vstupyitems (json)
Výstupyeach — jedno vyslání na každý prvek
Konfiguraceparallelism: { enabled, count }

Bez paralelizace se iterace řetězí sekvenčně. S ní jich běží až count současně (minimálně 2).

Port done vysílá až tehdy, když skončily všechny podgrafy iterací: právě sem se zapojuje shrnutí nebo úklid.

Požadavek HTTP ──response[body.ids]──► ForEach (paralelizace 4)
├─ each ──► Požadavek HTTP „detail“
└─ done ──► Log „hotovo“

Číselný cyklus.

Vstupyfrom, to, step (čísla)
Výstupyeach — pojmenovaný index
Konfiguracefrom, to, operator (výchozí <, dále , =, , >, ), step (0 se považuje za 1), parallelism

Cyklus s testem na začátku.

Vstupyleft, right
Výstupythen — pojmenovaný tělo, čistý signál
Konfiguraceoperator, left, right

Tělo je signál: nepřenáší žádnou hodnotu. Konec těla veďte zpět na port in bloku While, aby se podmínka vyhodnotila znovu.

Jako čítač nebo jako podmínku ukončení použijte proměnnou běhu.

Totéž co předchozí blok, ale tělo se provede alespoň jednou: test proběhne až potom. Výstup se jmenuje cyklus.

SituaceBlok
Mám seznamForEach
Znám počet iteracíFor
Podmínka ukončení závisí na výsledku a testuje se předemWhile
Totéž, ale je potřeba alespoň jeden průchodDo…While
Chci opakovat pokus po neúspěchuRetry

Paralelizace bloků ForEach a For posílá skutečná síťová volání souběžně. V testovacím prostředí ji zvyšujte postupně — a myslete na blok Čekat, který tempo vyhladí.