Variáveis de ambiente: Task runners
35 variáveis das versões 1.123.92, 2.45.7 e 3.0.1
Execução do Code node em task runners de JavaScript e Python, com broker, tokens, timeouts e módulos liberados. A lista sai do código de cada versão e das páginas de variáveis da documentação oficial, conferidos em 3 de novembro de 2026. Toda variável aceita o sufixo _FILE para ler o valor de um arquivo, útil para senhas e chaves em secrets do Docker.
Impede que o código Python do Code node leia as variáveis de ambiente do runner por
os.environ. O padrão nega esse acesso por segurança. Comfalse, todos os usuários do Code node em Python passam a ler as variáveis do runner.Liga o task runner nativo de Python, em beta na 1.x. A opção nativa substitui o Pyodide no Code node e exige um runner Python disponível, normalmente em um container ao lado do n8n. Code nodes com o parâmetro antigo
pythonprecisam passar parapythonNative. Scripts escritos para o Pyodide podem precisar de ajuste.Permitia que bibliotecas externas alterassem protótipos em tempo de execução, como o
puppeteerexige. A variável não aparece mais no código das três linhas e foi substituída porN8N_RUNNERS_INSECURE_MODE.Com
true, um pacote Python liberado emN8N_RUNNERS_EXTERNAL_ALLOWouN8N_RUNNERS_STDLIB_ALLOWcarrega os módulos que ele mesmo importa sem que você precise listar cada um, como opandasimportando opytz. As importações escritas no Code node continuam conferidas pela lista. A opção confia em todos os pacotes instalados na imagem do runner, por isso só deve ser ligada quando essa imagem for confiável. No modoexternal, defina o valor em/etc/n8n-task-runners.jsoncomoenv-override, não como variável do container.Segredo compartilhado entre o n8n e os runners para autenticar a conexão com o broker. No modo
external, o launcher precisa receber o mesmo valor.Tempo em segundos que um runner pode ficar ocioso antes de encerrar. Serve ao modo
external, no qual o launcher repassa o valor ao iniciar o runner. Com0, o encerramento por ociosidade fica desligado.Endereço IP que o broker de task runners escuta. O padrão aceita só conexões locais, o suficiente para o modo
internal.Porta que o broker escuta para receber as conexões dos runners.
Funções nativas do Python que o Code node não pode usar, separadas por vírgula. O padrão nega funções como
eval,execeopen. Uma string vazia libera todas.Ligava os task runners na 1.x. A partir da 2.x, os runners vêm ligados de fábrica e a variável deixa de ter efeito.
Na 2.x e na 3.x, o n8n avisa na inicialização que a variável pode ser removida porque não tem mais efeito.
Módulos Python de terceiros que o Code node pode importar, incluindo os submódulos, separados por vírgula. Use
*para liberar todos. O padrão não libera nenhum. Os módulos precisam estar instalados na imagemn8nio/runners. No modoexternal, defina o valor em/etc/n8n-task-runners.jsoncomoenv-override, não como variável do container.Tempo em segundos que o runner continua aceitando e executando tarefas depois do pedido de desligamento, antes de esvaziar a fila. No modo
external, o prazo de encerramento do orquestrador, como oterminationGracePeriodSecondsdo Kubernetes, precisa ser maior que este valor, ou o runner é interrompido no meio das tarefas.Token que o runner usa para se autenticar no broker. O launcher fornece o valor automaticamente.
Validade em segundos do token de autenticação do runner. Aumente em máquinas lentas, quando o runner demora mais para iniciar.
Liga o servidor de health check do próprio runner, usado pelo orquestrador para saber se ele está respondendo.
Endereço que o servidor de health check do runner escuta.
Porta do servidor de health check do runner.
Intervalo em segundos entre os sinais de vida que o runner envia ao broker. Quando os sinais param, a tarefa é interrompida e, no modo
internal, o runner é reiniciado. O valor precisa ser maior que zero.Identificador do runner perante o broker. Vazio, o runner gera o próprio identificador, o comportamento padrão do modo
external. Quando definido, precisa ser único por runner, porque dois runners com o mesmo identificador derrubam a conexão um do outro. No modointernal, o n8n define o valor para cada runner que inicia.Desliga todas as proteções do task runner para aceitar módulos que dependem de recursos inseguros do JavaScript. O n8n desaconselha o uso em produção. Na 2.x,
$evaluateExpression()só funcionava no Code node com este modo ligado. A 3.x remove essa função.Porta do servidor de health check do launcher de runners. O launcher é um programa separado, mantido fora do repositório principal do n8n, por isso a variável não aparece no código das três linhas.
Nível das mensagens de log do launcher de runners.
Quantidade de tarefas que um runner executa ao mesmo tempo. O código das três linhas mantém 10 como padrão, embora a documentação já informe 5.
Valor em MB repassado ao
--max-old-space-sizedo Node.js no processo do runner. Vazio, o Node.js escolhe o limite pela memória disponível.Tamanho máximo em bytes de cada mensagem trocada entre o broker e o runner. O padrão equivale a 1 GiB.
Forma de execução do task runner:
internalroda como processo filho do n8n eexternalroda em outro processo ou container, iniciado pelo launcher.Na 2.x e na 3.x, o modo
internalestá defasado e será removido em uma versão futura. Para isolar e escalar, rode o launcher em outro processo, definaexternale compartilheN8N_RUNNERS_AUTH_TOKENcom ele.Caminho da URL que expõe o serviço de task runners.
Segundos extras, depois do prazo de desligamento, até o runner forçar o próprio encerramento quando a parada normal travar. No modo
external, o launcher encerra o runner à força uma margem depois disso, no prazo mais duas vezes este valor.Módulos da biblioteca padrão do Python que o Code node pode importar, incluindo os submódulos, separados por vírgula. Use
*para liberar todos. O padrão não libera nenhum. No modoexternal, defina o valor em/etc/n8n-task-runners.jsoncomoenv-override, não como variável do container.Tempo em segundos que o broker espera o runner ou o solicitante confirmar uma tarefa atribuída antes de desistir da atribuição. Aumente quando os runners demoram para responder.
Endereço do broker de tarefas, ou seja, da instância n8n, usado pelo runner para se conectar.
Tempo em segundos que um pedido de tarefa espera um runner livre antes de falhar. Evita que o workflow fique parado sem prazo quando não há runner disponível.
Tempo máximo em segundos para uma tarefa do Code node terminar. Passado o prazo, a tarefa é interrompida e, no modo
internal, o runner é reiniciado. O padrão caiu de 300 para 60 segundos na 3.x.Na 2.x, o n8n avisa na inicialização quando a variável não está definida, porque o padrão cairia para 60 segundos. Defina o valor de forma explícita se o seu código precisa de mais de um minuto.
Versão do n8n informada ao task runner, usada para identificar a versão nos erros enviados ao Sentry.
Opções repassadas ao Node.js na inicialização, como
--max-old-space-sizepara aumentar o limite de memória.