Aller au contenu

Boucles

Quatre boîtes. Toutes émettent leur corps sur une sortie dédiée et signalent la fin du travail par leur port done.

Itère sur une liste.

Entréesitems (json)
Sortieseach — une émission par élément
Configurationparallelism : { enabled, count }

Sans parallélisme, les itérations s’enchaînent séquentiellement. Avec, elles s’exécutent jusqu’à count en même temps (minimum 2).

Le port done n’émet qu’une fois tous les sous-graphes d’itération terminés : c’est là qu’on branche le résumé ou le nettoyage.

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

Boucle numérique.

Entréesfrom, to, step (nombres)
Sortieseach — nommée index
Configurationfrom, to, operator (< par défaut, ou , =, , >, ), step (0 est traité comme 1), parallelism

Boucle à test préalable.

Entréesleft, right
Sortiesthen — nommée corps, signal pur
Configurationoperator, left, right

Le corps est un signal : il ne transporte pas de valeur. Rebouclez la fin du corps sur le port in de la boîte While pour réévaluer la condition.

Utilisez une variable de run comme compteur ou comme condition d’arrêt.

Identique à la précédente, mais le corps s’exécute au moins une fois : le test a lieu après. La sortie est nommée boucle.

SituationBoîte
J’ai une listeForEach
Je connais le nombre d’itérationsFor
La condition d’arrêt dépend d’un résultat, testée avantWhile
Idem, mais il faut au moins un tourDo…While
Je veux réessayer en cas d’échecRetry

Le parallélisme de ForEach et For envoie de vrais appels réseau en parallèle. Sur un environnement de recette, montez-le progressivement — et pensez à la boîte Attendre pour lisser la cadence.