pub fn task_held(task: &Task) -> Option<Notice>Expand description
The notice for a task the machine or its attempt budget has held, if it is.
Called from crate::queue::Queue::put, which every task transition goes
through, so a hold made anywhere - the loop, the conductor, triage, a
dependency removed from under a blocked task - is announced. A hold the
operator placed by hand is their own action and is not news. Keyed on the
task, with wording free of anything that varies between retries.
Falls back to crate::queue::Task::last_error when hold_reason is
empty, the same fallback crate::triage’s question detail uses: a record
written before Task::fail/Task::handed_off started copying why into
hold_reason too would otherwise still read “no reason recorded” even
though the run said exactly why it stopped.