O que é um job
Job é uma unidade de trabalho que um sistema precisa executar, frequentemente em segundo plano. Ele representa uma tarefa delimitada, como gerar um relatório de inscrições de determinada turma ou converter um arquivo de vídeo para outro formato.
Ao solicitar uma exportação, você pode receber um identificador para acompanhar o processamento sem manter a página esperando pelo arquivo. Esse identificador permite consultar o estado da tarefa e relacionar o resultado à solicitação que a originou.
A entrada precisa definir o trabalho
Um job de relatório pode guardar o código da turma, o período da consulta e o formato de saída. O processo precisa recuperar esses parâmetros quando assumir a tarefa, inclusive depois que você fechar a página. Uma seleção mantida apenas na memória do navegador não estará disponível ao worker.
Você também precisa definir se o relatório retratará o momento da solicitação ou o momento da execução. Se o job guardar apenas o código da turma e consultar as inscrições depois, alterações feitas durante a espera poderão aparecer no arquivo, conforme a consulta implementada.
Estados e tentativas contam partes diferentes da história
Estados como aguardando, em execução, concluído e falho aparecem em sistemas de jobs, mas os nomes e as transições dependem da ferramenta. Também pode haver espera por um horário, por uma dependência ou por uma nova tentativa depois de um erro.
Uma tentativa é uma execução do trabalho representado pelo job. A mesma tarefa pode precisar de outra tentativa quando o armazenamento do arquivo estiver temporariamente indisponível, sem que isso represente uma nova solicitação de exportação.
O estado falho não prova ausência de efeitos. A planilha pode ter sido gravada antes de uma falha na etapa que registra seu endereço, assim como uma mensagem pode ter sido enviada antes de o sistema conseguir registrar a conclusão.
Como o job se relaciona com fila e worker
A fila mantém o trabalho disponível para processamento, e o worker executa a tarefa. Criar um job na fila não significa que um processo já começou a produzir o resultado, especialmente quando há outras tarefas aguardando ou nenhum worker disponível.
O termo job também aparece em agendadores e outras ferramentas que não seguem exatamente essa estrutura. Para entender um ambiente específico, confira onde a tarefa é registrada, qual processo a executa e como o resultado fica disponível.
Repetir sem duplicar o resultado
Se o job puder ser executado novamente, planeje como reconhecer o resultado já produzido. Uma exportação pode usar um identificador estável de solicitação para associar o arquivo, evitando criar múltiplas versões que a interface não consegue relacionar à mesma tarefa.
Essa preparação faz parte da idempotência, mas não surge apenas por atribuir um nome ao job. O código que grava arquivos, atualiza registros ou envia mensagens precisa respeitar a repetição prevista.
Como investigar uma tarefa pendente
Confira há quanto tempo o job aguarda, se existe uma programação para o futuro e se há workers consumindo a fila correta. Uma fila pausada, uma dependência não concluída ou um limite de processamento também pode explicar a espera.
Para um job concluído, confira o resultado concreto, como o arquivo gerado e seu acesso. Para um job falho, compare a tentativa com os efeitos no destino antes de iniciar outra execução.
Dúvidas frequentes
Perguntas frequentes sobre Job
- Job, fila e worker são a mesma coisa?
- Não. Um job descreve uma tarefa, como gerar um relatório. A fila mantém essa solicitação aguardando, e o worker executa o código que produz o arquivo.
- Todo job precisa de uma fila?
- Não. O termo também é usado para tarefas agendadas ou executadas por outros mecanismos. A fila é uma forma comum de distribuir trabalho em segundo plano.
- Um job falho não produziu nenhum efeito?
- Não necessariamente. Ele pode ter gravado parte do resultado ou enviado uma mensagem antes de falhar. Confira os efeitos já realizados antes de repetir a tarefa.
- Como saber se o job terminou?
- Consulte seu estado e o resultado previsto pelo processo. Para uma exportação, por exemplo, confira se o arquivo esperado existe e pode ser acessado, além de observar a conclusão registrada.
Para continuar
Recursos relacionados
Documentação
BullMQ: workers e processamento de jobs
Execução de tarefas, retorno de resultados e registro de falhas.
Abrir recursoDocumentação
BullMQ: jobs idempotentes
Orientações para tarefas que podem ser executadas novamente.
Abrir recursoAplicação na formação
n8n Experts
Jobs representam unidades de trabalho que podem ser agendadas ou encaminhadas a processos de execução.
Conhecer a formação
Fontes consultadas
Referências deste verbete
Este verbete ajudou você?
Obrigado pela resposta. Ela fica salva apenas neste navegador.