Veeramanikandan Shanmugam
06/17/2026, 12:52 PMMarvin
06/17/2026, 12:52 PMMarvin
06/17/2026, 12:55 PMScheduled state.
So by default:
- scheduled for 12:00:00
- still not picked up / started by about 12:00:15
- Prefect marks it as Late
A few important points:
- This is not specific to process vs Kubernetes workers — both behave the same
- Late is determined by the server/API services, not by the worker type
- The late-runs monitor checks periodically, by default about every 5 seconds
So after restarting the Prefect server and DB:
- any runs that are still Scheduled
- and whose scheduled time is already beyond the late threshold
should be picked up again and marked Late shortly after the services come back up.
If they are not showing Late after restart, likely causes are:
- the late-runs service is disabled
- the runs are no longer actually in Scheduled
- the scheduled time is not yet beyond the threshold
- the API/background services are not running correctly after restart
Relevant settings:
- PREFECT_API_SERVICES_LATE_RUNS_ENABLED
- PREFECT_API_SERVICES_LATE_RUNS_AFTER_SECONDS default 15
- PREFECT_API_SERVICES_LATE_RUNS_LOOP_SECONDS default 5
If you want, I can help you check whether your server has the late-run service enabled and what state those flow runs are currently in.