自托管并发控制#
仅适用于自托管 n8n
本文档适用于自托管并发控制。阅读云并发了解并发如何与 n8n Cloud 账户配合使用。
在常规模式下,n8n 不限制可以同时运行多少个生产执行。这可能导致过多的并发执行使事件循环过载,导致性能下降和无响应的情况。
为了防止这种情况,您可以在常规模式下为生产执行设置并发限制。使用此功能来控制有多少个生产执行并发运行,并将超过限制的任何并发生产执行排队。这些执行保留在队列中,直到并发容量释放,然后按 FIFO 顺序处理。
并发控制默认情况下是禁用的。要启用它:
1 |
|
请记住:
- 并发控制仅适用于生产执行:从 webhook 或触发器节点启动的执行。它不适用于任何其他类型,如手动执行、子工作流执行、错误执行或从 CLI 启动的执行。
- 您无法重试排队的执行。取消或删除排队的执行也会将其从队列中删除。
- 在实例启动时,n8n 恢复排队的执行直到并发限制,并重新排队其余的执行。
- 要监控并发控制,请观察日志中添加到队列和释放的执行。在未来版本中,n8n 将在 UI 中显示并发控制。
启用并发控制时,您可以在项目或工作流的执行选项卡顶部查看活动执行数和配置的限制。
与队列模式的比较#
在队列模式下,您可以使用 --concurrency
标志控制 worker 可以并发运行多少个作业。
队列模式中的并发控制是与常规模式中的并发控制分离的机制,但环境变量 N8N_CONCURRENCY_PRODUCTION_LIMIT
控制两者。在队列模式下,如果设置为 -1
以外的值,n8n 从此变量获取限制,否则回退到 --concurrency
标志或其默认值。