Thanks for the details — this lines up with a known regression in Prefect 3.6.24 affecting event ingestion and visibility in the UI.
Root cause
- In 3.6.24 there were bugs in the events pipeline that can cause task runs and charts to disappear in the UI until services are restarted. These are amplified in multi‑worker setups with Redis (events can arrive out of order and the buggy queue handling causes drops):
- Events worker queue bug: a bounded-queue change mistakenly stored the max size as a class variable, so multiple workers interfere with each other. When the queue fills, events are dropped and visibility breaks. Fixed in 3.6.25.
-
PR #21273 (fix), introduced via
PR #21033
- Out‑of‑order event handling: changes removed a recovery path for out‑of‑order events. With Redis + 4 workers, ordering isn’t guaranteed, so some task/flow events get dropped and runs/charts don’t render.
-
PR #21458
- Heartbeat/event emission starvation under load: heavy/CPU‑bound workloads could starve heartbeats and event emission, making runs appear missing. Improvements landed alongside these changes.
-
PR #21276
Why restarting “fixes” it
- Restarting your systemd services recreates the event worker(s) and clears internal queues/caches, so new events start flowing again — until the same conditions accumulate.
What to do
- Best fix: upgrade to Prefect 3.6.25 or later across all Server components and workers.
- If you can’t upgrade immediately, a temporary mitigation is to increase the events worker queue size (it won’t fully avoid the class‑variable interference in 3.6.24, but can reduce drops):
- Env var:
PREFECT_EVENTS__WORKER_MAX_QUEUE_SIZE=50000
- Then restart your Prefect services in order (API > services > workers) to avoid startup races.
- Ensure all services/workers are on the exact same Prefect version — mixed versions can worsen event/schema handling.
What to look for in your logs to confirm
- Messages like:
- “queue is full”, “dropping item”
- “Error flushing events”
- Large gaps in “event emitted”/heartbeat logs
If you can share those specific lines, I can confirm against the known regression signatures.
Bottom line
- This behavior in 3.6.24 is a known regression in the events pipeline that hides task runs and charts; your multi‑worker + Redis architecture makes it more visible. Upgrading to 3.6.25+ resolves it.