Oi pessoal,
Estou tendo um problema com Schedule Triggers gerando muitas execuções e não tenho certeza de como consertar. O que meu workflow faz:
Tenho um sistema de automação de atendimento ao cliente. Quando um cliente envia uma solicitação de suporte, os dados vão para uma Planilha Google. Um gerente analisa a solicitação e preenche uma coluna “Decisão” (aceito / recusado / escalar).
Tenho 3 workflows, cada um consultando uma aba diferente da Planilha Google a cada 2 minutos:
Schedule Trigger (a cada 2 min)
Obter todas as linhas da Planilha Google
Nó de código: filtrar linhas onde a coluna Decisão foi preenchida recentemente E ainda não foi processada
Nó Switch: rotear baseado no valor da decisão
Ações: enviar email ao cliente, atualizar status da planilha, criar ticket de suporte, etc.
Então na maioria das vezes, o workflow executa, não encontra nada para fazer e para. Apenas quando o gerente preenche uma decisão é que ele realmente faz algo. O problema:
Estou vendo muitas execuções se acumulando. Quando o servidor reinicia, recebo um grande pico — dezenas de execuções todas no mesmo timestamp, uma mistura de Erros (~40s) e Cancelados (~1m7s).
Acho que o n8n pode estar tentando “recuperar” todas as execuções agendadas perdidas enquanto o servidor estava desligado. Ou talvez o trigger está disparando múltiplas vezes simultaneamente antes que a execução anterior termine. Minhas perguntas:
Como posso prevenir esse pico de execuções na inicialização?
Existe uma forma de limitar execuções concorrentes por workflow?
Consultar uma Planilha Google a cada 2 minutos com um Schedule Trigger é uma boa abordagem, ou existe um padrão melhor para este caso?
Muito obrigado!
@Arthur_Mascot o burst de inicialização é catch-up de execuções perdidas — Schedule Trigger dispara uma vez por intervalo perdido por padrão quando n8n volta. existe uma configuração para desabilitar isso no próprio nó de trigger. antes dos detalhes — você está no n8n cloud ou self-hosted? os controles de concurrent-execution são diferentes por ambiente. também vale a pena sinalizar: Google Sheets tem uma operação Trigger node que monitora mudanças de linha nativamente, muito mais eficiente do que fazer polling a cada 2 min, mas só se sua versão expuser isso.
Oi @Arthur_Mascot Bem-vindo!
Você já tentou remover o workflow inteiro e importá-lo novamente? Assim ele receberá um novo ID e as execuções fantasma serão limpas. Você pode reduzir a contagem de execução concorrente na sua instância, não por workflow, suponho.
Olhando para seu workflow, é uma escolha melhor adicionar um gatilho do Google Sheets em vez de fazer polling de tudo a cada vez e adicionar nós de espera entre eles
Para o parâmetro no Schedule Trigger — onde exatamente está a configuração para desativar a recuperação de execuções perdidas? Não consigo encontrar nos settings do nó.
Também muito interessado na abordagem Google Sheets Trigger — justamente meu workflow filtra exatamente na coluna “Decisão”: ele recupera todas as linhas com o status en_attente_validation e verifica se a coluna “Decisão” foi preenchida. O trigger nativo consegue monitorar especificamente essa coluna e se acionar apenas quando um novo valor é adicionado a ela?
Bem-vindo @Arthur_Mascot à nossa comunidade! Sou Jay e sou um criador verificado da n8n.
Para desabilitar a recuperação, abra seu nó Schedule Trigger e procure pelo toggle “Fire on startup catch-up” - ele está no painel de configurações do nó. Desative isso e a n8n parará de tentar executar todos os intervalos perdidos ao reiniciar. Esta é a solução mais limpa para seu caso de uso, já que você está fazendo polling a cada 2 minutos e uma explosão de recuperação não faz sentido para uma fila de suporte.