Short answer: nothing changes. Once the automation marks the flow run as Crashed, the run stays in that terminal state.
Details:
- Crashed is a terminal state in Prefect 3.x. Terminal states do not automatically transition back to non-terminal states like Running or Completed. See:
States in Prefect 3.x
- Heartbeats are events; they don’t change state by themselves. They’re useful for automations like “detect zombie flows,” but late heartbeats after a run is Crashed won’t revive it. See:
Detect zombie flows
- If the underlying process keeps running and tries to report a later state (e.g., Completed), the server will not move the run out of Crashed because it’s already in a terminal state.
If you’re seeing false positives, consider tuning your zombie automation window/threshold to allow a bit more time between expected heartbeats.