pub struct Command {
pub id: String,
pub version: String,
pub request_id: String,
pub job_id: Option<String>,
pub shell: Shell,
pub script: String,
pub timeout_secs: u64,
pub jitter_secs: Option<u64>,
pub run_as: RunAs,
pub cwd: Option<String>,
pub deadline_at: Option<DateTime<Utc>>,
}Fields§
§id: String§version: String§request_id: String§job_id: Option<String>§shell: Shell§script: String§timeout_secs: u64§jitter_secs: Option<u64>§run_as: RunAsWhich (token, session) combination the agent should launch the
child process under (v0.21). Defaults to RunAs::System for
back-compat with pre-v0.21 backends that don’t send this field.
cwd: Option<String>Working directory for the spawned child (v0.21.1). None ⇒
inherit the agent’s cwd. Pre-v0.21.1 wire payloads omit this
field and parse fine via #[serde(default)].
deadline_at: Option<DateTime<Utc>>Absolute time after which the agent should refuse to run
this Command (v0.22). Set by the scheduler from
Schedule.starting_deadline (humantime) measured against
the cron tick time. None ⇒ no deadline, run whenever
received (default for ad-hoc kanade exec + back-compat
for pre-v0.22 wire). The agent stamps a synthetic
ExecResult { exit_code: 125, stderr: "skipped: deadline expired ..." } when it skips, so the operator sees the
outcome on the Results / Dashboard pages instead of silence.