I need in workflow settings a way to set the number of concurrent jobs for each workflow.
My use case:
I have a given workflow which must be capable of handling concurrent executions.
I also have a workflow which MUST NOT run concurrent executions because sharing a common resource.
The --concurrency option is not a solution because it applies to all workflows.
I think it would be beneficial to add this because:
There is an easy work around, you can use the rabbitMQ nodes. The trigger node allows you to set the parallel executions. Of course these will be seperate workflow executions and so the workers of course also need to have enough concurrency set for it to actually do it all in parallel.
Agreed. Using external tools (e.g., RabbitMQ / Posthook) are really a band-aid to this problem. n8n really needs a native queuing mechanism that allows you to see/manage in-flight requests before they are processed by a given workflow.
That’s totally fine. I really don’t care what the underlying mechanism is – so long as n8n UI provides a way to manage the queue and control how many jobs run at the same time.
Keep in mind, this concurrency control should apply equally to:
Incoming Webhook Calls
As well as internal calls made from other parent workflows directly calling this workflow
There are like a million critical reasons for the need to limit runs of a workflow to one at a time. Hands down, this is the biggest flow of n8n. Boggles my mind that it’s still not addressed.