Sean Beeler
07/24/2026, 7:01 PMMarvin
07/24/2026, 7:01 PMMarvin
07/24/2026, 7:03 PMLate means the scheduled start time passed and the run never moved to `Pending`/`Running`.
Most common causes:
- no worker is running
- worker is polling the wrong work pool
- the work pool is paused
- concurrency limits are blocking pickup
- the deployment is assigned to a different pool/queue than the worker
First things to check
1. Is a worker actually running?
- In the UI, go to Work Pools and check whether your pool has an online worker.
2. Is the deployment using the same work pool your worker is polling?
- If your worker is started against pool A, but the deployment sends runs to pool B, runs will sit in Scheduled and then become Late.
3. Is the work pool paused?
- Run:
bash
prefect work-pool ls
prefect work-pool inspect <your-pool-name>
4. Are concurrency limits full?
- Check whether the pool or queue has a concurrency limit that’s preventing new runs from starting.
5. Preview what the pool thinks is scheduled
bash
prefect work-pool preview <your-pool-name> --hours 24
What “Late” means technically
- Prefect marks a run Late when its scheduled time has passed and it has not been claimed quickly enough by a worker.
- So this is usually a worker / work pool / infrastructure pickup problem, not a flow code problem.
Good next debugging info to gather
- how you are starting the worker
- the deployment’s work pool name
- whether this is flow runs or task runs
- worker logs around the time a run becomes late
If you want, send me:
- your prefect worker start ... command
- the output of prefect work-pool inspect <pool>
- and a screenshot or copy of one affected run’s details
and I can help pinpoint the exact mismatch.
Helpful docs:
- Work pools and workers
- Prefect statesSean Beeler
07/24/2026, 7:13 PMMarvin
07/24/2026, 7:13 PMMarvin
07/24/2026, 7:13 PMLate.
You’ve got two good self-serve options:
1. Open a GitHub discussion / feature request in the Prefect repo:
GitHub discussions
2. Contact Prefect directly with product feedback:
prefect.io/contact
If helpful, you can paste this:
text
Feature request: surface a UI warning when a deployment is run but no workers are online for its assigned work pool.
Problem:
Today, a deployment can be triggered successfully, but if no workers are running for that work pool, the run sits in Scheduled, then transitions to Late, which can be confusing.
Suggested behavior:
When a deployment is triggered, Prefect should detect whether the assigned work pool has any online workers capable of picking up the run. If not, show a prominent UI warning on the deployment/run page.
Why this helps:
This would make a common misconfiguration much easier to diagnose and reduce time spent debugging Scheduled/Late runs.
If you want, I can also help you tighten that wording for either a GitHub discussion or an internal feature request form.Nate
07/24/2026, 7:30 PMNate
07/24/2026, 9:58 PMSean Beeler
07/24/2026, 10:23 PM