pub struct ReleaseRequest {
pub worker_id: WorkerId,
pub slots: u32,
pub build_id: Option<u64>,
pub local_wrapper_id: Option<String>,
pub exit_code: Option<i32>,
pub duration_ms: Option<u64>,
pub bytes_transferred: Option<u64>,
pub timing: Option<CommandTimingBreakdown>,
pub worker_fault: bool,
pub worker_disk_full: bool,
pub worker_disk_roots: Vec<String>,
}Expand description
Request to release reserved worker slots.
Fields§
§worker_id: WorkerIdID of the worker to release slots on.
slots: u32Number of slots to release.
build_id: Option<u64>Optional build ID to mark complete.
local_wrapper_id: Option<String>Exact client wrapper identity associated with the admitted build.
exit_code: Option<i32>Optional exit code for the build (used to finalize active build tracking).
duration_ms: Option<u64>Optional total duration in milliseconds (pipeline or execution).
If omitted, the daemon will compute duration from the active build’s start time.
bytes_transferred: Option<u64>Optional bytes transferred during the pipeline (upload + artifact download).
timing: Option<CommandTimingBreakdown>Optional per-phase timing breakdown for the build pipeline.
worker_fault: boolThe hook classified this non-zero exit as a worker fault (missing toolchain or system library, CPU-capability signal, full disk), so the daemon records no cache warmth for it (review of GH #81).
worker_disk_full: boolThe failed remote command reported exhausted disk space or quota. After matching the durable build owner, the daemon temporarily bypasses this worker until fresh recovery probes establish disk headroom.
worker_disk_roots: Vec<String>Actual remote source and output roots used by the failed attempt. Recovery must measure these filesystems as well as configured roots.