I disabled Redis and put N8N in regular mode, it worked perfectly, then I deleted the Redis volume, ran it again and returned N8N to queue mode and the problem started again, the requests on the endpoint enter the queue and do not leave, they do not execute. Is there a problem in this version using N8N in queue with Redis. In version 1.78.2 this was not happening.
n8n_editor:
# imagem do docker
image: n8nio/n8n:1.83.2
# comando padrão para subir o servidor web do editor
command: start
# configura a rede do serviço
networks:
- network_public
# configura as variáveis de ambiente
environment:
- N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
- N8N_TRUST_PROXY=true
- N8N_RUNNERS_ENABLED=true
- N8N_RUNNERS_MODE=internal
- OFFLOAD_MANUAL_EXECUTIONS_TO_WORKERS=true
- N8N_NODE_PATH=/home/node/.n8n/nodes
#########################################################
# Documentação de Variáveis de Ambiente do N8N ##########
# Environment Variables Overview | n8n Docs
#########################################################
#########################################################
#########################################################
# Configuração Gerais do N8N ############################
#########################################################
#########################################################
#########################################################
# Gere uma nova chave aqui Random Password Generator | Create Strong Passwords | Avast
- N8N_ENCRYPTION_KEY=password_deleted
# Configura o ambiente de execução do N8N
- NODE_ENV=production
# Habilita a Página de Métricas Públicas do N8N
- N8N_METRICS=true
# Habilita o envio de diagnósticos para o N8N
- N8N_DIAGNOSTICS_ENABLED=false
# Configura o Tamanho do Payload aceito pelo N8N (em MB)
- N8N_PAYLOAD_SIZE_MAX=32
# Configura o nível de log do N8N
- N8N_LOG_LEVEL=info
# Configura o Timezone do N8N
- GENERIC_TIMEZONE=America/Sao_Paulo
#########################################################
#########################################################
#########################################################
# Configuração do Banco de Dados ########################
#########################################################
#########################################################
#########################################################
# Define o Tipo de Banco de Dados para Postgres
- DB_TYPE=postgresdb
# Configura o Nome do Banco de Dados
- DB_POSTGRESDB_DATABASE=n8n
# Configura o Host do Banco de Dados
- DB_POSTGRESDB_HOST=postgres
# Configura a Porta do Banco de Dados
- DB_POSTGRESDB_PORT=5432
# Configura o Usuário do Banco de Dados
- DB_POSTGRESDB_USER=postgres
# Configura a Senha do Banco de Dados
- DB_POSTGRESDB_PASSWORD=password_deleted
#########################################################
#########################################################
#########################################################
# Configuração do Endereço do N8N #######################
#########################################################
#########################################################
#########################################################
# Define a Porta http para o N8N (padrão: 5678)
- N8N_PORT=5678
# Configura o Host do Editor do N8N
- N8N_HOST=editor-teste.domain.com.br
# Configura o Endereço competo do Editor (tem que deixar / no final)
- N8N_EDITOR_BASE_URL=https:// editor-teste.domain .com.br/
# Força o uso de SSL nas URL internas do N8N
- N8N_PROTOCOL=https
# Configura o Endereço do Webhook
# Pode ser subdomínio ou outro domínio
- WEBHOOK_URL=https:// webhook-teste.domain . com . br/
# Configura o Caminho do Webhook
- N8N_ENDPOINT_WEBHOOK=webhook-teste
#########################################################
#########################################################
#########################################################
# Configuração da Modo de Execução do N8N (fila) ########
#########################################################
#########################################################
#########################################################
- EXECUTIONS_MODE=queue
# Configura o host do Redis
- QUEUE_BULL_REDIS_HOST=redis
# Configura a porta do Redis
- QUEUE_BULL_REDIS_PORT=6379
# Configura o indice do banco de dados do Redis
- QUEUE_BULL_REDIS_DB=2
# Configura a senha do Redis (caso você use senha no redis)
# - QUEUE_BULL_REDIS_PASSWORD=SENHA
# Configura o tempo sugerido de execução de um Job na fila (-1 para ficar sem limite)
- EXECUTIONS_TIMEOUT=3600 # (1 hora)
# Configura o tempo máximo de execução de um Job na fila (-1 para ficar sem limite)
- EXECUTIONS_TIMEOUT_MAX=7200 # (2 horas)
#########################################################
#########################################################
#########################################################
# Configuração da Interface do N8N ######################
#########################################################
#########################################################
#########################################################
# Habilita as notificações de novas versões do N8N
- N8N_VERSION_NOTIFICATIONS_ENABLED=true
# Configura o N8N para exibir a documentação da API Pública
- N8N_PUBLIC_API_SWAGGERUI_DISABLED=true
# Habilita os Templates na Interface do N8N
- N8N_TEMPLATES_ENABLED=true
# Habilita dicas de integração ao criar um novo fluxo de trabalho (true = desabilitado)
- N8N_ONBOARDING_FLOW_DISABLED=true
# Desabilita o recurso de tags de workflows (false = habilitado)
- N8N_WORKFLOW_TAGS_DISABLED=false
# Oculta a Tela de Informações de Uso do N8N
- N8N_HIDE_USAGE_PAGE=false
#########################################################
#########################################################
#########################################################
# Configuração da Manutenção e Limpeza do N8N ###########
#########################################################
#########################################################
#########################################################
# Configura a limpeza dos dados de execução
- EXECUTIONS_DATA_PRUNE=true
# Configura o tempo máximo de armazenamento dos dados de execução
- EXECUTIONS_DATA_MAX_AGE=120 # 5 dias
# Com que frequência (minutos) os dados de execução devem ser excluídos permanentemente.
- EXECUTIONS_DATA_PRUNE_HARD_DELETE_INTERVAL=15
# Com que frequência (minutos) os dados de execução devem ser excluídos de forma reversível.
- EXECUTIONS_DATA_PRUNE_SOFT_DELETE_INTERVAL=60
# Quantidade de Execuções para armazenar antes de excluir
- EXECUTIONS_DATA_PRUNE_MAX_COUNT=10000
######################## opcional #######################
# Salvar execuções que terminam em erros (all = salvar, none = não salvar)
- EXECUTIONS_DATA_SAVE_ON_ERROR=all
# Salve execuções bem-sucedidas (all = salvar, none = não salvar)
- EXECUTIONS_DATA_SAVE_ON_SUCCESS=none
# Não salve o progresso do nó para cada execução (true = savar, false = não salvar)
- EXECUTIONS_DATA_SAVE_ON_PROGRESS=true
# Não salve execuções iniciadas manualmente (true = savar, false = não salvar)
- EXECUTIONS_DATA_SAVE_MANUAL_EXECUTIONS=true
#########################################################
#########################################################
#########################################################
# Configuração de Bibliotecas do N8N ####################
#########################################################
#########################################################
#########################################################
# Configura quais bibliotecas nativas podem ser importardas no node Code
- NODE_FUNCTION_ALLOW_BUILTIN=*
# Configura as bibliotecas externas que serão utilizadas
- NODE_FUNCTION_ALLOW_EXTERNAL=moment,lodash
# Habilita o uso de pacotes da comunidade
- N8N_COMMUNITY_PACKAGES_ENABLED=true
# Reinstala os pacotes após um upgrade
- N8N_REINSTALL_MISSING_PACKAGES=true
#########################################################
#########################################################
#########################################################
# Configuração dos E-mails (Multi-user) #################
#########################################################
#########################################################
#########################################################
# Modo de envio de e-mail
- N8N_EMAIL_MODE=smtp
# Configura o Host do SMTP
- N8N_SMTP_HOST=email-smtp.sa-east-1.amazonaws.com
# Configura a Porta do SMTP
- N8N_SMTP_PORT=587
# Configura o Usuário do SMTP
- N8N_SMTP_USER=password_deleted
# Configura a Senha do SMTP
- N8N_SMTP_PASS=password_deleted
# Configura o E-mail de envio
- [email protected]
# Configura o SSL do SMTP
- N8N_SMTP_SSL=false
# Configura o Modo de Deploy da Aplicação
deploy:
# O editor será executado no modo de replicação
mode: replicated
# Vamos ter apenas uma instância do editor
replicas: 1
# Configura o local de execução
placement:
constraints:
# Você pode rodar o Editor no Manager mesmo pois usa poucos recursos
- node.role == manager
# - node.hostname == worker1
# - node.labels.app == http # nome do label: app, valor do label: http
# Limitação
resources:
# Definição dos Limites de Recursos deste Serviço
limits:
# Define a quantidade de CPU para o N8N para evitar travamento do Host
cpus: “1”
# Define a quantidade de RAM para o N8N para evitar travamento do Host
memory: 1024M
# Define os Labels do Serviço
labels:
# Configura o Roteamento do Traefik
- traefik.enable=true
# Define o enderço do Editor do N8N
- traefik.http.routers.n8n_editor.rule=Host(editor-teste.domain.com.br)
# Redireciona o endereço para HTTPS
- traefik.http.routers.n8n_editor.entrypoints=websecure
# Define o certificado SSL
- traefik.http.routers.n8n_editor.tls.certresolver=letsencryptresolver
# Define o serviço do Editor
- traefik.http.routers.n8n_editor.service=n8n_editor
# Define a porta do serviço do Editor
- traefik.http.services.n8n_editor.loadbalancer.server.port=5678
# Define o uso do Host Header
- traefik.http.services.n8n_editor.loadbalancer.passHostHeader=true
# Configura o modo de atualização do serviço
update_config:
# Configura o paralelismo de atualização
parallelism: 1
# Configura o tempo de espera entre as atualizações
delay: 30s
# Configura a ação em caso de falha
order: start-first
# Configura a ação em caso de falha
failure_action: rollback
networks:
network_public:
name: network_public
external: true
My setup uses docker-compose and also a Redis queue. It’s probably not due to the new version. In Queue Mode, there is usually a separate N8N Worker instance running. Can you see anything in the logs of this worker?
I found the problem. The command variable was set to the same value.
# comando padrão para subir o servidor web do editor
command: start
# comando padrão para subir o servidor web do editor
command: webhook
# comando padrão para subir o servidor web do editor
command: worker --concurrency=10