Sari la conținut

Bucle

Patru cutii. Toate își emit corpul pe o ieșire dedicată și semnalează încheierea lucrului prin portul lor done.

Iterează pe o listă.

Intrăriitems (json)
Ieșirieach — o emisie pentru fiecare element
Configurareparallelism: { enabled, count }

Fără paralelism, iterațiile se înlănțuie secvențial. Cu paralelism, se execută până la count în același timp (minimum 2).

Portul done emite numai după ce toate subgrafurile de iterație s-au terminat: acolo se conectează rezumatul sau curățarea.

Cerere HTTP ──response[body.ids]──► ForEach (paralelism 4)
├─ each ──► Cerere HTTP „detaliu”
└─ done ──► Log „terminat”

Buclă numerică.

Intrărifrom, to, step (numere)
Ieșirieach — denumită index
Configurarefrom, to, operator (< implicit, sau , =, , >, ), step (0 este tratat ca 1), parallelism

Buclă cu test prealabil.

Intrărileft, right
Ieșirithen — denumită corp, semnal pur
Configurareoperator, left, right

Corpul este un semnal: nu transportă nicio valoare. Rebuclați sfârșitul corpului pe portul in al cutiei While, pentru a reevalua condiția.

Folosiți o variabilă de rulare drept contor sau drept condiție de oprire.

Identică cu precedenta, dar corpul se execută cel puțin o dată: testul are loc după. Ieșirea este denumită buclă.

SituațieCutie
Am o listăForEach
Cunosc numărul de iterațiiFor
Condiția de oprire depinde de un rezultat, testată înainteWhile
La fel, dar trebuie cel puțin o turăDo…While
Vreau să reîncerc în caz de eșecRetry

Paralelismul din ForEach și For trimite apeluri de rețea reale în paralel. Pe un mediu de preproducție, măriți-l progresiv — și gândiți-vă la cutia Așteaptă pentru a netezi cadența.