mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-10-27 00:02:35 +00:00
Flows waiting for a suspended child (e.g. approval step) have running=true but ping=NULL by design. The zombie flow handler required ping IS NOT NULL, so these flows were invisible to detection and could stay in the queue indefinitely, blocking retention cleanup of their completed children. Two fixes: 1. monitor.rs: Add detection for root flows with NULL pings older than the retention period. These are cancelled as zombies with a critical error. 2. worker_flow.rs: Cap suspend_until at the retention period to prevent flows from being parked longer than retention allows. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Windmill Worker
The worker. Used to process and execute flows & jobs.
This crate exposes both a library as well as a binary target.