Mathijs Carlu
09/18/2025, 2:22 PMMarvin
09/18/2025, 2:22 PMMarvin
09/18/2025, 2:25 PMprefect work-pool set-concurrency-limit "my-shared-pool" 3
- Docs: Work pool CLI reference
2) Limit concurrent task runs across deployments via tag-based concurrency
- Add a shared tag to the tasks you want to limit, then create a concurrency limit for that tag. This caps concurrent task runs (not flow runs) across all flows/deployments using that tag.
- Code:
from prefect import flow, task
@task(tags=["gpu"])
def heavy():
...
@flow
def my_flow():
heavy()
- CLI:
prefect concurrency-limit create gpu 2
- Docs: Tag-based concurrency limits
Important notes
- There is no built-in “flow-run concurrency by tag” feature; deployment tags do not control concurrency.
- Use a work pool limit for flow-run level control; use tag-based limits for task-run level control.
Quick question to make sure we steer you right: Are you trying to limit how many flow runs can execute at once across those deployments, or limit certain resource-heavy tasks across flows?Nate
09/18/2025, 2:26 PMNate
09/18/2025, 2:26 PMMathijs Carlu
09/18/2025, 2:43 PM