Skip to main content

Module heartbeat

Module heartbeat 

Source
Expand description

Keeps a job’s log stream alive across long silent phases.

Forgejo cancels a task whose runner reports nothing for ZOMBIE_TASK_TIMEOUT (about 10 minutes). Phases here are legitimately quiet for longer: an LTO link printed nothing for ~11 minutes and had its task cancelled after the build had already succeeded, and an instrumented test run is ~24 minutes of near-silence.

In-process, unlike the shell wrapper it replaces: the thing that knows which phase is running is the thing running it, so the pulse can name the phase without a file passed between two scripts.

Structs§

Heartbeat
Announces phases and pulses between them. Stops on drop.

Constants§

PULSE 🔒