Michel Lalancette
06/11/2026, 2:33 PMMarvin
06/11/2026, 2:33 PMMarvin
06/11/2026, 2:36 PMEventsWorker is doing
- Prefect workers emit events like worker started/stopped, flow run state changes, etc.
- Those events are sent asynchronously by a background component called EventsWorker
- When the worker is stopping, Prefect tries to drain that queue before exiting
- If there are still unsent items, you’ll see:
WARNING | EventsWorker - Still processing items: 1 items remaining...
Why you might see it “always” on Windows
A few likely reasons:
- Normal shutdown behavior: if you start/stop the worker often, there’s almost always at least one final event left to send
- Slow network/API connectivity to Prefect Cloud, so the final event takes a bit longer
- Windows thread / I/O timing differences, which can make this more visible than on Linux
- Older Prefect version: newer 3.x releases include fixes around event worker shutdown behavior
Is it a problem?
Usually no if:
- the worker still starts and runs jobs normally
- you only see this during shutdown/restart
- it eventually exits cleanly
It’s more concerning if:
- it repeats continuously while the worker is running
- shutdown hangs for a long time
- you also see connection/timeouts to Prefect Cloud
What I’d try
1. Upgrade Prefect to the latest 3.x:
bash
pip install -U prefect
2. Check whether it only appears on shutdown
- If yes, this is likely just a noisy but benign warning
3. Enable debug logs to confirm what event is stuck:
bash
set PREFECT_LOGGING_LEVEL=DEBUG
prefect worker start --pool YOUR_POOL --type process
4. Check connectivity to Prefect Cloud
- Make sure the machine can reliably reach your API URL
- Confirm PREFECT_API_URL and PREFECT_API_KEY are set correctly
5. Optionally reduce event backlog / tune queueing
You can try a bounded queue:
bash
set PREFECT_EVENTS_WORKER_MAX_QUEUE_SIZE=2000
If this is specifically happening when the worker launches rather than when it exits, that’s less typical and I’d want to narrow it down.
A few quick questions:
- What Prefect version are you running?
- Do you see this once at startup, or does it repeat every few seconds?
- Are you running prefect worker start in a normal console, as a Windows service, or under some supervisor?
- Do you also see any timeout / connection warnings nearby in the logs?
Helpful docs:
- Workers documentation
- Work pools and workers
- Settings reference
If you want, paste the surrounding startup logs and I can help pinpoint whether this is just shutdown noise or an actual connectivity issue.