Henry Bruce
10/24/2025, 9:24 AMMarvin
10/24/2025, 9:24 AMMarvin
10/24/2025, 9:33 AMwork_queue_name when calling create_flow_run_from_deployment, the server is supposed to use the deployment’s configured work queue by default. If the deployment is not associated with a work queue (only a work pool), or you’re on a version with the bug below, the run won’t be routed to a queue.
Known issue:
- A bug in 3.4.11 caused create_flow_run_from_deployment to mis-handle deployments without an attached work queue and could raise an AttributeError; the fix added proper checks and clearer errors. See:
- Issue: #18707
- Fix: #18807
What I’d suggest:
- Confirm your Prefect version and upgrade to the latest 3.4.x if you’re on 3.4.11 or earlier.
- Ensure your deployment actually has a specific work queue set in its work pool (not just the pool). If no queue is set on the deployment, omitting work_queue_name won’t target a queue.
- As a workaround, pass work_queue_name explicitly to create_flow_run_from_deployment.
A couple of clarifying questions to help pinpoint this for you:
- Which Prefect version are you on?
- Does the deployment show a specific “Work pool / Work queue” in the UI?
- Are you using durable work queues (e.g., Redis) and, if so, how are you checking whether the message hit the queue?