Schedule Trigger dispara dezenas de execuções simultâneas na inicialização em vez de uma

Descreva o problema/erro/pergunta

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:
  1. Como posso prevenir esse pico de execuções na inicialização?
  2. Existe uma forma de limitar execuções concorrentes por workflow?
  3. 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!

Qual é a mensagem de erro (se houver)?

Por favor, compartilhe seu workflow

Compartilhe a saída retornada pelo último nó

Informações sobre sua configuração n8n

@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.

Acho que você está usando o modo principal, @Arthur_Mascot.
E se você mudar para o modo de fila?

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?

Olá, obrigado :wink: Como fazer isso?

Você pode ler aqui

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.

Obrigado, mas não consigo encontrar :slight_smile:

@Arthur_Mascot em qual versão você está ? essa é a v2.21.7

@Arthur_Mascot outro ponto, a config de fila não é no nó, mas sim na config do workflow.
veja esse doc
Configuring queue mode | n8n Docs

@Arthur_Mascot a opção „Fire on startup catch-up