#831 Lifecycle boundary checks do not reach foreach/while loop bodies — pause/cancel latency inside long loops

closed medium engine Created 2026-07-19 05:26 · Updated 2026-07-19 06:06

Description

Edit
The #825/#826 boundary check (_lifecycle_signal) runs only in execute_workflow_graph's main ready-task loop. foreach/while operators execute their body tasks internally (loops.py) without the check, so a cancel/pause during a 1000-iteration loop takes effect only when the loop operator finishes (or at its internal sleep suspensions). Extend the hook to loop iteration boundaries (between iterations is the natural safe point, mirroring the existing between-iteration checkpoint), reusing the same fresh-connection fail-open helper. Parallel branch runs are separate jumper wrapper runs and DO get claim-time + main-loop checks.

Comments

Loading comments...

Context

Loading context...

Audit History

View All
Loading audit history...