Santiago Gutierrez
04/20/2026, 11:59 PMprefect worker start -n named_worker -p same_work_pool -q my_different_queue
I am using this yaml for a particular deployment:
deployments:
- name: my_deployment
concurrency_limit: null
description: "The eds dev workflow"
entrypoint: flows/my_flow.py:my_flow
work_pool:
name: same_work_pool
work_queue_name: my_different_queue
job_variables:
working_dir: ...
How can I point this deployment so that jobs are only sent to the `named_worker` process worker?Marvin
04/20/2026, 11:59 PMMarvin
04/21/2026, 12:05 AM-q) will poll all queues in same_work_pool, including my_different_queue, so it will compete with named_worker.
Ways to ensure only named_worker runs this deployment:
- Restrict the other worker’s queues
- Start the unnamed worker with explicit queues that do not include `my_different_queue`:
prefect worker start -p same_work_pool -q default -q some_other_queue
- Keep named_worker as-is:
prefect worker start -n named_worker -p same_work_pool -q my_different_queue
- Or isolate via a dedicated work pool
- Create a pool just for named_worker and update the deployment’s work_pool.name to that pool:
prefect work-pool create "dedicated-pool" --type process
prefect worker start -n named_worker -p dedicated-pool -q my_different_queue
- Update your deployment YAML:
deployments:
- name: my_deployment
entrypoint: flows/my_flow.py:my_flow
work_pool:
name: dedicated-pool
work_queue_name: my_different_queue
Notes:
- Setting concurrency_limit or queue concurrency won’t force runs to a specific worker; it just limits total concurrent runs across all workers polling that queue.
- A worker started without -q polls all queues in the pool by default.
References:
- Workers concept (includes -q behavior): Workers
- Work pools and queues: Work Pools and Queues
- CLI reference for `prefect worker start`: Worker CLI