Siirry sisältöön

Silmukat

Neljä lohkoa. Kaikki lähettävät runkonsa omaan lähtöporttiinsa ja ilmoittavat työn päättymisestä done-portillaan.

Iteroi luettelon läpi.

Tulotitems (json)
Lähdöteach — yksi lähetys alkiota kohden
Kokoonpanoparallelism: { enabled, count }

Ilman rinnakkaisuutta iteraatiot seuraavat toisiaan peräkkäin. Rinnakkaisuuden kanssa niitä suoritetaan yhtä aikaa enintään count kappaletta (vähintään 2).

done-portti lähettää vasta, kun kaikki iteraation aligraafit ovat valmiit: siihen kytketään yhteenveto tai siivous.

HTTP-pyyntö ──response[body.ids]──► ForEach (rinnakkaisuus 4)
├─ each ──► HTTP-pyyntö ”yksityiskohdat”
└─ done ──► Log ”valmis”

Numeerinen silmukka.

Tulotfrom, to, step (lukuja)
Lähdöteach — nimeltään index
Kokoonpanofrom, to, operator (oletus <, tai , =, , >, ), step (0 käsitellään arvona 1), parallelism

Silmukka, jossa ehto testataan ennen runkoa.

Tulotleft, right
Lähdötthen — nimeltään runko, puhdas signaali
Kokoonpanooperator, left, right

Runko on signaali: se ei kanna arvoa. Kytke rungon loppu takaisin While-lohkon in-porttiin, jotta ehto arvioidaan uudelleen.

Käytä suoritusmuuttujaa laskurina tai pysäytysehtona.

Sama kuin edellinen, mutta runko suoritetaan vähintään kerran: testi tehdään vasta jälkeenpäin. Lähtö on nimeltään silmukka.

TilanneLohko
Minulla on luetteloForEach
Tiedän iteraatioiden määränFor
Pysäytysehto riippuu tuloksesta ja testataan ennen runkoaWhile
Sama, mutta vähintään yksi kierros tarvitaanDo…While
Haluan yrittää uudelleen epäonnistumisen jälkeenRetry

ForEach- ja For-lohkojen rinnakkaisuus lähettää oikeita verkkokutsuja rinnakkain. Testiympäristössä arvoa kannattaa nostaa vähitellen — ja muista Odota-lohko, jolla tahtia voi tasoittaa.