Wait

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

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 ativado, escolha Minutes, Hours ou Days.

Async

Desativado, a execução dorme em linha durante a duração indicada (até 5 minutos). Ativado, a execução é suspensa e retomada após o intervalo, o que é justamente o que permite uma espera de horas ou dias sem manter a execução aberta. Uma espera suspensa registra o momento em que 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) é retomada

Exemplos

Espaçar chamadas de API

Uma espera curta entre duas chamadas mantém o workflow dentro do limite de taxa de uma API. O mesmo formato serve para polling: espere e depois consulte novamente um job externo.

Enviar um follow-up com atraso

Com Async ativado, a execução é suspensa por dois dias e retomada para enviar o follow-up, sem manter a execução aberta nesse intervalo.

Boas práticas

  • Use uma espera curta em linha para segundos ou poucos minutos. Ative Async para horas ou dias, para que a execução não fique aberta todo esse tempo.
  • Lembre-se de que esperas aumentam a execução. A espera conta na duração total, que aparece nos Logs.
  • Uma espera pode ser cancelada. Parar a execução cancela uma espera ativa, e status passa a informar cancelled.

Common Questions

Uma espera em linha (síncrona) é limitada a 5 minutos. Para atrasos maiores, ative Async: a execução é suspensa e retomada após o intervalo, então uma espera pode durar minutos, horas ou dias.
Sim. As esperas podem ser interrompidas pelo cancelamento do workflow. Se a execução for parada enquanto um Wait está ativo, a espera é cancelada e a saída status informa 'cancelled'.
Uma espera sync (Async desativado) dorme em linha por até 5 minutos, enquanto a execução permanece aberta. Uma espera async (Async ativado) suspende a execução e a retoma após minutos, horas ou dias, registrando o horário de retomada em <wait.resumeAt>.
Uma espera em linha faz apenas um sleep simples e não usa computação de forma ativa, ainda que a execução continue aberta. Uma espera async suspende a execução por completo, então nada fica aberto até a retomada.
waitDuration (a espera em milissegundos), status ('waiting', 'completed' ou 'cancelled') e resumeAt (o timestamp ISO em que uma espera async é retomada).