pub struct Status {
pub schema: u32,
pub pid: u32,
pub started_at: Timestamp,
pub updated_at: Timestamp,
pub idle: bool,
pub current: Vec<Current>,
pub completed: usize,
pub polls: u64,
}Expand description
The daemon’s liveness, published to <home>/daemon.json.
This is the only interface between the loop and the web UI, which is why it
carries updated_at as well as started_at: a reader cannot tell a
running daemon from a SIGKILLed one by the file’s existence alone, but it
can compare the heartbeat against the clock.
Fields§
§schema: u32On-disk format version.
pid: u32Process id, so a human can find or kill the daemon.
started_at: TimestampWhen this process started.
updated_at: TimestampLast heartbeat.
idle: boolTrue when the queue has nothing runnable.
current: Vec<Current>Every task and run currently in flight. More than one entry means the
loop is driving more than one run at once — see
crate::config::Daemon::max_concurrent_runs. Empty, not absent, when
nothing is running, so a reader never has to treat “no field” and “an
empty list” as two different kinds of idle.
completed: usizeTasks that reached a terminal status in this process.
polls: u64Queue polls since start, so a wedged loop shows up as a frozen count.
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Status
impl<'de> Deserialize<'de> for Status
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for Status
impl RefUnwindSafe for Status
impl Send for Status
impl Sync for Status
impl Unpin for Status
impl UnsafeUnpin for Status
impl UnwindSafe for Status
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more