Gå til indhold

Løkker

Fire bokse. De udsender alle deres krop på en dedikeret udgang og melder arbejdets afslutning via deres done-port.

Itererer over en liste.

Indgangeitems (json)
Udgangeeach — én udsendelse per element
Konfigurationparallelism: { enabled, count }

Uden parallelisme følger iterationerne sekventielt efter hinanden. Med parallelisme kører op til count af dem samtidig (mindst 2).

done-porten udsender først, når alle iterationernes undergrafer er færdige: det er der, du forbinder opsummeringen eller oprydningen.

HTTP-anmodning ──response[body.ids]──► ForEach (parallelisme 4)
├─ each ──► HTTP-anmodning »detalje«
└─ done ──► Log »færdig«

Numerisk løkke.

Indgangefrom, to, step (tal)
Udgangeeach — med navnet index
Konfigurationfrom, to, operator (< som standard, eller , =, , >, ), step (0 bliver behandlet som 1), parallelism

Løkke med testen først.

Indgangeleft, right
Udgangethen — med navnet krop, et rent signal
Konfigurationoperator, left, right

Kroppen er et signal: den bærer ingen værdi. Før slutningen af kroppen tilbage til in-porten på While-boksen for at evaluere betingelsen igen.

Brug en kørselsvariabel som tæller eller som stopbetingelse.

Identisk med den foregående, men kroppen kører mindst én gang: testen sker bagefter. Udgangen har navnet løkke.

SituationBoks
Jeg har en listeForEach
Jeg kender antallet af iterationerFor
Stopbetingelsen afhænger af et resultat og bliver testet førstWhile
Det samme, men der skal mindst én omgang tilDo…While
Jeg vil prøve igen, hvis det fejlerRetry

Parallelismen i ForEach og For sender rigtige netværkskald ud parallelt. På et staging-miljø skal du skrue den op gradvist — og husk Vent-boksen til at jævne kadencen ud.