How to make workers to process one execution per worker at a time in queue mode?

Consider this workflow

which is running on queue mode. The Execute Workflow node’s option for Wait For Sub-Workflow Completion is set to false to make sure the parent execution doesn’t have to wait for the child to run the next one.
However, since I am running this workflow on queue mode, I expect the number of concurrent executions are limited to the number of workers. Meaning, if I have 2 workers, I see 2 concurrent executions and not more.

I checked the documentation and set the concurrency flag to 1, but the issue remained.

I also saw some answers from the community users (Link1 , Link2) which suggest to use RabbitMQ. It is possible to do it but it beats the purpose of having the queue mode in a system IMO if I can’t control the worker’s behaviour even in the number of executions it runs.

Information on your n8n setup

  • n8n version: 1.64.3
  • Database (default: SQLite):
  • n8n EXECUTIONS_PROCESS setting (default: own, main): main
  • Running n8n via (Docker, npm, n8n cloud, desktop app): self-hosted (using Portainer)

Hi @arvinfr ,

Welcome to the community! :sunflower:

Manual executions will run on main, regardless of having queue mode set up or not.
Sub-workflows will always execute as part of the main worfklow, and therefore they don’t abide by concurrency limits.
So, when you run a manual execution, the sub-wfs that get triggered from that will follow it and also run in main.

If you use an active trigger, say a webhook or a schedule node, your usecase should work as expected, respecting the consurrency limits you set.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.