temporal
temporal copied to clipboard
Сoncurrency limit (built-in semaphore) per Workflow type
Is your feature request related to a problem? Please describe.
It is a recurring orchestration need to limit the number of concurrently running Workflows of a specific type (e.g., never run more than N "MyWorkflow" simultaneously in a namespace or cluster). There is currently no built-in way to set a global concurrency limit by Workflow type in Temporal. Workarounds require custom dispatcher workflows or external distributed semaphores.
Describe the solution you'd like
A built-in semaphore/concurrency limit per Workflow type, configurable via API or workflow start options, so that Temporal itself restricts the number of simultaneously running workflows of a given type.
Describe alternatives you've considered
Building custom dispatcher workflows or using external distributed locks—but these solutions are complex, fragile, and operationally heavy.
Additional context A built-in semaphore would be a general and powerful solution for throttling, batching, and resource protection for a wide range of use cases.
This is something that we are discussing internally but don't have clear timelines for.
Hello @bergundy, are there any updates on concurrency limits for a given worker ?