Reference

Wait

O bloco Wait pausa um workflow por um tempo definido e depois continua. Use para espaçar ações, respeitar rate limits de API ou dar tempo a um sistema externo terminar. Uma espera curta roda em linha; uma longa suspende a execução e retoma depois.

Configuração

Wait Amount

A duração da pausa, como um número positivo.

Unit

A unidade de tempo. Para uma espera curta em linha, escolha Seconds ou Minutes. Com Async ligado, escolha Minutes, Hours ou Days.

Async

Desligado, a execução dorme em linha pela duração (até 10 minutos). Ligado, a execução suspende e retoma depois do delay, o que permite uma espera de horas ou dias sem manter a execução aberta. Uma espera suspensa registra quando vai retomar em <wait.resumeAt>.

Saídas

SaídaO que é
<wait.status>waiting, completed ou cancelled
<wait.waitDuration>A duração da espera, em milissegundos
<wait.resumeAt>Timestamp ISO em que uma espera suspensa (async) retoma

Exemplos

Espaçar chamadas de API

Uma espera curta entre duas chamadas mantém o workflow sob o rate limit de uma API. O mesmo formato funciona para polling: espere e depois recheque um job externo.

Enviar um follow-up atrasado

Com Async ligado, a execução suspende por dois dias e retoma para enviar o follow-up, sem manter a execução aberta no meio.

Boas práticas

  • Use uma espera curta em linha para segundos a poucos minutos. Ligue Async para horas ou dias para a execução não ficar aberta o tempo todo.
  • Lembre que waits estendem a execução. A espera conta para a duração total, que aparece nos logs.
  • Um wait é cancelável. Parar a execução cancela um wait ativo, e status reporta cancelled.

Common Questions

Uma espera em linha (síncrona) tem teto de 10 minutos. Para delays maiores, ligue Async: a execução suspende e retoma depois do delay, então uma espera pode rodar por minutos, horas ou dias.
Sim. Waits são interruptíveis pelo cancelamento do workflow. Se a execução for parada enquanto um Wait está ativo, a espera é cancelada e a saída status lê 'cancelled'.
Um wait sync (Async desligado) dorme em linha por até 10 minutos enquanto a execução fica aberta. Um wait async (Async ligado) suspende a execução e retoma depois de minutos, horas ou dias, registrando o horário de resume em <wait.resumeAt>.
Uma espera em linha faz um sleep simples e não usa compute ativamente, embora a execução fique aberta. Um wait async suspende a execução por completo, então nada fica aberto até retomar.
waitDuration (a espera em milissegundos), status ('waiting', 'completed' ou 'cancelled') e resumeAt (o timestamp ISO em que um wait async retoma).

On this page