跳到主要内容

自托管并发控制#

仅适用于自托管 n8n

本文档适用于自托管并发控制。阅读 Cloud 并发了解 n8n Cloud 账户的并发工作原理。

在常规模式下,n8n 不限制同时运行的生产执行数量。这可能导致过多的并发执行使事件循环过载,造成性能下降和无响应。

为了防止这种情况,你可以在常规模式下为生产执行设置并发限制。使用此功能来控制并发运行的生产执行数量,并将超出限制的并发生产执行排队。这些执行将保留在队列中,直到并发容量释放,然后按 FIFO(先进先出)顺序处理。

并发控制默认处于禁用状态。要启用它:

export N8N_CONCURRENCY_PRODUCTION_LIMIT=20

请记住:

  • 并发控制仅适用于生产执行:从 webhook 或触发器节点启动的执行。它不适用于任何其他类型,例如手动执行、子工作流执行、错误执行或从 CLI 启动的执行。

  • 你无法重试排队的执行。取消或删除排队的执行也会将其从队列中移除。

  • 在实例启动时,n8n 会恢复排队的执行,直到达到并发限制,并将其余执行重新排队。

  • 要监控并发控制,请查看日志以了解执行被添加到队列和释放的情况。在未来的版本中,n8n 将在 UI 中显示并发控制。

当你启用并发控制时,可以在项目或工作流的执行选项卡顶部查看活动执行的数量和配置的限制。

与队列模式的比较#

在队列模式下,你可以使用 --concurrency 标志控制工作器可以并发运行的作业数量。

队列模式中的并发控制是与常规模式中的并发控制分离的机制,但环境变量 N8N_CONCURRENCY_PRODUCTION_LIMIT 同时控制两者。在队列模式下,如果此变量设置为 -1 以外的值,n8n 将从此变量获取限制,否则回退到 --concurrency 标志或其默认值。