Skip to content

Loops

Four boxes. All of them emit their body on a dedicated output and signal the end of the work through their done port.

Iterates over a list.

Inputsitems (json)
Outputseach — one emission per element
Configurationparallelism: { enabled, count }

Without parallelism, the iterations run one after another, sequentially. With it, up to count of them run at the same time (minimum 2).

The done port only fires once all the iteration subgraphs have finished: that is where you wire the summary or the clean-up.

Requête HTTP ──response[body.ids]──► ForEach (parallélisme 4)
├─ each ──► Requête HTTP « détail »
└─ done ──► Log « terminé »

Numeric loop.

Inputsfrom, to, step (numbers)
Outputseach — named index
Configurationfrom, to, operator (< by default, or , =, , >, ), step (0 is treated as 1), parallelism

Loop with the test up front.

Inputsleft, right
Outputsthen — named body, a pure signal
Configurationoperator, left, right

The body is a signal: it carries no value. Loop the end of the body back onto the While box’s in port to re-evaluate the condition.

Use a run variable as the counter or as the stop condition.

Identical to the previous one, except the body runs at least once: the test happens afterwards. The output is named loop.

SituationBox
I have a listForEach
I know the number of iterationsFor
The stop condition depends on a result, tested firstWhile
Same, but at least one pass is neededDo…While
I want to retry on failureRetry

ForEach and For parallelism sends real network calls out in parallel. On a staging environment, raise it gradually — and remember the Wait box to smooth out the pace.