Skip to main content

Module wait

Module wait 

Source
Expand description

Waiting for a run, and ending one that will not end by itself.

§Why a timeout is not automatic recovery

Recovery exists for interruptions, where the cause has gone away — the machine restarted, the supervisor died. A timeout means the work was too big or something is wedged, and both of those repeat identically, so retrying spends money to arrive in the same place. The run is killed, it is recorded as timed_out, and whoever sent the flight is told.

§Why the whole tree is killed

An agent CLI is rarely one process. It starts language servers, shells out to git, runs test suites. Killing only the process the supervisor spawned leaves those behind — still holding the workspace, still burning CPU, and on the next run, still there. What “kill the tree” means differs sharply by platform, which is why it is here and not inlined.

Enums§

Ended
Why waiting stopped.

Functions§

kill_tree
Ends a process and everything it started.
wait_for
Waits for started, killing it if it outlives timeout or if should_stop becomes true.