Pular para o conteúdo

Ciclos

Quatro caixas. Todas emitem o seu corpo numa saída dedicada e sinalizam o fim do trabalho através da porta done.

Itera sobre uma lista.

Entradasitems (json)
Saídaseach — uma emissão por elemento
Configuraçãoparallelism: { enabled, count }

Sem paralelismo, as iterações sucedem-se sequencialmente. Com paralelismo, executam-se até count ao mesmo tempo (mínimo 2).

A porta done só emite depois de todos os subgrafos de iteração terminarem: é aí que se liga o resumo ou a limpeza.

Pedido HTTP ──response[body.ids]──► ForEach (paralelismo 4)
├─ each ──► Pedido HTTP “detalhe”
└─ done ──► Log “terminado”

Ciclo numérico.

Entradasfrom, to, step (números)
Saídaseach — com o nome index
Configuraçãofrom, to, operator (< por predefinição, ou , =, , >, ), step (0 é tratado como 1), parallelism

Ciclo com teste prévio.

Entradasleft, right
Saídasthen — com o nome corpo, sinal puro
Configuraçãooperator, left, right

O corpo é um sinal: não transporta nenhum valor. Volte a ligar o fim do corpo à porta in da caixa While para reavaliar a condição.

Utilize uma variável de execução como contador ou como condição de paragem.

Idêntica à anterior, mas o corpo executa-se pelo menos uma vez: o teste ocorre depois. A saída tem o nome ciclo.

SituaçãoCaixa
Tenho uma listaForEach
Conheço o número de iteraçõesFor
A condição de paragem depende de um resultado, testada antesWhile
Idem, mas é preciso pelo menos uma passagemDo…While
Quero tentar de novo em caso de falhaRetry

O paralelismo de ForEach e de For envia verdadeiras chamadas de rede em paralelo. Num ambiente de pré-produção, aumente-o progressivamente — e não se esqueça da caixa Aguardar para suavizar a cadência.