Run states
Seven states from pending to skipped, which four are terminal, what orphaned means against skipped, and the three triggers.
A run is one execution of one job on one agent. A job on three agents makes three runs at every tick, and each of them goes through the states below on its own account.
Seven states
Every state has its own icon and label in the application; the labels are quoted as the application shows them on hover.
pending
Waiting for an agent. A cron tick (or Run now) created the run and it is waiting for an agent to take it on its next ask for work. With an agent that is online this is a fraction of a second. The wait is bounded: a minute, or longer for a job with catch-up switched on — in detail under missed runs.
leased
Claimed by an agent. The agent has taken the run and has not yet
confirmed that the process is running. Usually milliseconds; in lists it is
shown the same as running, because the difference is diagnostic rather than
something a reader should have to decode.
running
Running. The process on the host is running and the agent is sending output as it goes. With no time limit — Runjet does not stop a run, it only writes after a while.
success
Succeeded. The command exited with status 0. Terminal.
failed
Failed. The command exited non-zero, or did not end on its own: it was
killed as the agent shut down (killed by agent shutdown), it was missing the
value of a secret, or the agent could not start the
process at all. The run carries the exit status, where there is one, and a
sentence saying why. Terminal.
orphaned
Agent stopped reporting — outcome unknown. The agent took or started the run and then fell silent: it lost its connection, its machine, or its power. Runjet does not know how the run went — the process may well have finished — and so it does not say "failed" but "unknown". A sweep closes it once the lease the agent holds with its regular heartbeat expires. Terminal; an agent that comes back reports nothing further about it.
skipped
Skipped — no agent was available. The run waited as pending and
nobody came for it within the deadline: the
agent was offline, disabled or saturated. The command never ran — that is
the difference from orphaned, where it ran and how it ended is unknown.
Terminal.
The four terminal ones
success, failed, orphaned and skipped. The other three are transitional
and a run in them holds its job's slot on that agent: until a run on an agent
ends, the next tick will not start the same
job there. A terminal run releases the slot and changes no further; what Runjet
remembers about it and for how long is in
output and retention.
Three triggers
Beside its state, every run carries what started it, with an icon of its own:
| Icon | Trigger | Label in the application |
|---|---|---|
| clock | scheduled | Triggered by schedule — a cron tick |
| pointer | manual | Triggered manually — running by hand |
| history | catchup | Caught up after downtime — a caught-up occurrence |
The trigger decides more than the icon: a manual run does not count as the last automatic one when catching up looks for where to start.