Skip to content

任务运行器环境变量(Task runner environment variables)#

基于文件的配置

与主 n8n 镜像不同,你不能在任务执行器镜像中使用基于文件的机密配置。这意味着添加了 _FILE 后缀的变量将无法被识别。

任务运行器 执行由 代码节点 定义的代码。

n8n 实例环境变量(n8n instance environment variables)#

变量 类型 默认值 描述
N8N_RUNNERS_ENABLED 布尔值 false 任务运行器是否启用。
N8N_RUNNERS_MODE 枚举字符串: internal, external internal 如何启动和运行任务执行器。internal 意味着 n8n 将作为子进程启动任务执行器。external 意味着外部协调器将启动任务执行器。
N8N_RUNNERS_AUTH_TOKEN 字符串 随机字符串 由任务运行器用于向 n8n 进行身份验证的共享密钥。在使用 external 模式时必需。
N8N_RUNNERS_BROKER_PORT 数字 5679 任务代理用于任务执行器连接监听的端口。
N8N_RUNNERS_BROKER_LISTEN_ADDRESS 字符串 127.0.0.1 任务代理监听的地址。
N8N_RUNNERS_MAX_PAYLOAD 数字 1 073 741 824 任务代理与任务执行器之间通信的最大有效载荷字节数。
N8N_RUNNERS_MAX_OLD_SPACE_SIZE 字符串 用于任务运行器的 --max-old-space-size 选项(以 MB 为单位)。默认情况下,Node.js 会根据可用内存设置此值。
N8N_RUNNERS_MAX_CONCURRENCY 数字 5 任务运行器一次可以执行的并发任务数量。
N8N_RUNNERS_TASK_TIMEOUT 数字 300 在运行器停止任务并重新启动之前,任务可以运行的最长时间(以秒为单位)。此值必须大于 0。
N8N_RUNNERS_HEARTBEAT_INTERVAL 数字 30 运行器必须向代理发送心跳的间隔(以秒为单位)。如果运行器未能及时发送心跳,任务将停止并且运行器会重新启动。该值必须大于0。
N8N_RUNNERS_INSECURE_MODE 布尔值 false 是否禁用任务运行器中的所有安全措施,以兼容依赖不安全 JS 功能的模块。不建议在生产环境中使用。
N8N_RUNNERS_TASK_REQUEST_TIMEOUT 数字 60 任务请求可以等待执行者可用的最长时间(以秒为单位),超过此时间将超时。这可以防止在没有可用执行者时工作流无限期挂起。必须大于 0。

任务运行器启动器环境变量(Task runner launcher environment variables)#

变量 类型 默认值 描述
N8N_RUNNERS_LAUNCHER_LOG_LEVEL 枚举字符串: debug, info, warn, error info 显示哪些日志消息。
N8N_RUNNERS_AUTH_TOKEN 字符串 - 用于认证到 n8n 的共享密钥。
N8N_RUNNERS_AUTO_SHUTDOWN_TIMEOUT 数字 15 在关闭空闲运行器之前等待的秒数。
N8N_RUNNERS_TASK_BROKER_URI 字符串 http://127.0.0.1:5679 任务代理服务器 (n8n 实例) 的 URI。
N8N_RUNNERS_LAUNCHER_HEALTH_CHECK_PORT 数字 5680 启动器健康检查服务器的端口。
N8N_RUNNERS_MAX_PAYLOAD 数字 1 073 741 824 任务代理与任务运行器之间通信的最大有效负载字节数。
N8N_RUNNERS_MAX_CONCURRENCY 数字 5 任务运行器一次可以执行的并发任务数。

任务运行器环境变量(所有语言)(Task runner environment variables (all languages))#

变量 类型 默认值 描述
N8N_RUNNERS_GRANT_TOKEN 字符串 随机字符串 运行器用于与任务代理进行身份验证的令牌。此令牌由启动程序自动提供。
N8N_RUNNERS_AUTO_SHUTDOWN_TIMEOUT 数字 15 在关闭空闲运行器之前等待的秒数。
N8N_RUNNERS_TASK_BROKER_URI 字符串 http://127.0.0.1:5679 任务代理服务器(n8n 实例)的 URI。
N8N_RUNNERS_LAUNCHER_HEALTH_CHECK_PORT 数字 5680 启动程序健康检查服务器的端口。
N8N_RUNNERS_MAX_PAYLOAD 数字 1 073 741 824 任务代理与任务运行器之间通信的最大负载大小(字节)。
N8N_RUNNERS_MAX_CONCURRENCY 数字 5 任务运行器一次可以执行的并发任务数量。

任务运行器环境变量(JavaScript)(Task runner environment variables (JavaScript))#

变量 类型 默认值 描述
NODE_FUNCTION_ALLOW_BUILTIN 字符串 - 允许用户在代码节点中导入特定的内置模块。使用 * 允许全部导入。n8n 默认禁用模块导入。在外部模式下,在 运行器配置文件 (/etc/n8n-task-runners.json) 中将其设置为 env-override,而不是作为容器环境变量。
NODE_FUNCTION_ALLOW_EXTERNAL 字符串 - 允许用户在代码节点中导入特定的外部模块(来自 n8n/node_modules)。n8n 默认禁用模块导入。在外部模式下,在 runners 配置文件 (/etc/n8n-task-runners.json) 中将其设置为一个 env-override,而不是作为容器环境变量。
N8N_RUNNERS_ALLOW_PROTOTYPE_MUTATION 布尔值 false 是否允许对外部库进行原型变更。设置为 true 可以允许依赖运行时原型变更的模块(例如 puppeteer),但代价是降低安全性。
GENERIC_TIMEZONE * America/New_York 与 n8n 实例配置的相同默认时区 相同
NODE_OPTIONS 字符串 - Node.js 的 选项
N8N_RUNNERS_MAX_OLD_SPACE_SIZE 字符串 用于任务运行器的 --max-old-space-size 选项(以 MB 为单位)。默认情况下,Node.js 会根据可用内存设置此值。

任务运行器环境变量(Python)(Task runner environment variables (Python))#

变量 类型 默认值 描述
N8N_RUNNERS_STDLIB_ALLOW 字符串 - 可以在 Code 节点中使用的 Python 标准库模块,包括它们的子模块。使用 * 来允许所有标准库模块。n8n 默认禁用所有 Python 标准库导入。在外部模式下,请在 运行器配置文件 (/etc/n8n-task-runners.json) 中将其设置为 env-override,而不是作为容器环境变量。
N8N_RUNNERS_EXTERNAL_ALLOW 字符串 - 允许在 Code 节点中使用的第三方 Python 模块,包括它们的子模块。使用 * 可允许使用所有外部模块。n8n 默认禁用所有第三方 Python 模块。第三方 Python 模块必须包含在 n8nio/runners 镜像中。外部模式下,在 runners 配置文件 (/etc/n8n-task-runners.json) 中将其设置为 env-override,而不是作为容器环境变量。
N8N_RUNNERS_BUILTINS_DENY 字符串 eval,exec,compile,open,input,breakpoint,getattr,object,type,vars,setattr,delattr,hasattr,dir,memoryview,__build_class__,globals,locals 你在代码节点中不能使用的 Python 内置函数。设置为空字符串以允许所有内置函数。
N8N_BLOCK_RUNNER_ENV_ACCESS 布尔值 true 是否阻止从 Python 代码任务中访问运行器的环境。设置为 false 可允许所有 Python 代码节点用户通过 os.environ 访问运行器的环境。出于安全原因,默认情况下环境变量访问被阻止。