Files
windmill/backend
Ruben Fiszel 012726ea1e fix: detect zombie flows with NULL pings and cap suspend timeout at retention period
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>
2026-04-04 13:13:31 +00:00
..
2026-04-04 00:04:49 +00:00
2026-02-12 13:19:05 +00:00

Windmill Backend

This folder holds all backend components, the src/ folder only contains files used to build the "root" binary.

Components

name description
windmill-api The API server, exposing functionality to other components and the frontend
windmill-audit Contains audit functionality, allowing different components to record important actions
windmill-common Common code shared by all crates
windmill-queue Contains job & flow queuing functionality, commonly written to by the API server and read from by workers
windmill-worker The worker. Used to process and execute flows & jobs.
parsers Contains code to parse signatures in different langauges.

Compile sqlx for offline ci

cargo sqlx prepare --workspace -- --bin windmill --features enterprise