O que é delay de job
Delay de job é o atraso planejado antes de um job ser liberado para execução. O trabalho é enviado à fila e permanece aguardando até que o intervalo definido termine, quando então fica disponível para o worker.
O atraso é intencional, definido no envio, e não corrige uma falha nem responde a um erro. Ele define o momento da execução para atender a uma sequência, a uma janela de tempo ou a um limite de carga.
Suavizar picos e orquestrar sequências
Um uso comum é suavizar picos de carga. Em vez de liberar dezenas de jobs ao mesmo tempo, você espaça a liberação por intervalos. O sistema processa aos poucos, e o serviço de destino não recebe um volume concentrado.
O delay também orquestra sequências. Um email de confirmação pode aguardar alguns minutos após a criação da compra, dando tempo para o registro ser concluído antes do envio. A sequência usa o atraso para respeitar a ordem do fluxo.
Delay não é backoff
A distinção é essencial. O backoff entra após uma falha: o job tenta novamente depois de um intervalo que cresce ou se repete, permitindo a recuperação do destino. O delay entra no primeiro processamento, conforme o fluxo definido.
Usar um no lugar do outro gera comportamento errado. Aplicar delay em um job que falha não espaça as tentativas de forma crescente, e aplicar backoff em uma sequência planejada não respeita a janela intencional. Cada mecanismo responde a uma necessidade própria.
O atraso define a disponibilidade, não a conclusão
O job atrasado fica disponível após o intervalo, mas a execução depende dos workers. Se a fila está ocupada, o trabalho aguarda mais tempo. O delay garante o momento mínimo de espera, não o instante da conclusão.
Para revisar o uso de atrasos e sequências no seu fluxo, o Conselheiro de Tecnologia da Dev Side Studio pode apoiar a análise da fila e da distribuição de carga junto à implementação.
Dúvidas frequentes
Perguntas frequentes sobre Delay de job
- Delay e backoff são a mesma coisa?
- Não. O delay é um atraso planejado antes de um job começar, usado para suavizar picos ou orquestrar sequências. O backoff é aplicado após uma falha, espaçando as novas tentativas.
- Um job atrasado é executado no minuto exato?
- Não necessariamente. O job fica disponível após o intervalo, mas a execução depende da disponibilidade dos workers. O atraso define o momento no qual o trabalho pode começar, não o instante da conclusão.
- Delay resolve problemas de ordem na fila?
- Ele auxilia a criar sequências, mas não garante ordem de conclusão. Dois jobs atrasados podem terminar fora da ordem se executarem em tempos diferentes.
- Quando usar delay de job?
- Quando o trabalho deve esperar um intervalo antes de ocorrer, como enviar um email após uma ação, respeitar uma janela de tempo ou espaçar chamadas a um serviço.
Para continuar
Recursos relacionados
Documentação
BullMQ: jobs atrasados
Descreve jobs colocados em um conjunto atrasado e liberados após o intervalo.
Abrir recursoDocumentação
Laravel: filas e envio atrasado
Apresenta o envio atrasado de jobs e os limites do driver de fila.
Abrir recursoAplicação na formação
n8n Experts
O delay de job permite suavizar picos e orquestrar sequências em automações com filas.
Conhecer a formação
Fontes consultadas
Referências deste verbete
Este verbete ajudou você?
Obrigado pela resposta. Ela fica salva apenas neste navegador.