pub struct ControllerLife {
pub life: InstanceLife,
pub policy: LifecyclePolicy,
pub order: Option<PlaceOrder>,
pub reschedules: u32,
pub last_error: Option<String>,
pub was_running: bool,
pub attempts: u32,
pub next_attempt_ms: u64,
pub orphan_attempts: u32,
pub orphan_next_ms: u64,
pub orphan_error: Option<String>,
}Expand description
What the controller keeps per instance beyond its placement record.
Fields§
§life: InstanceLifeCurrent state and history.
policy: LifecyclePolicyMay it move, and how often.
order: Option<PlaceOrder>The order it was placed with (what a reschedule re-runs).
reschedules: u32Times it was moved to another node.
last_error: Option<String>Last reason a reschedule could not happen (chained once per change).
was_running: boolIt was meant to be running when its node was lost. A stopped, failed or finished instance is never started somewhere else.
attempts: u32Reschedule attempts that found no node (bounded by max_reschedules).
next_attempt_ms: u64Earliest time of the next reschedule attempt (ms).
orphan_attempts: u32Failed unloads of the replaced copy on its returned node.
orphan_next_ms: u64Earliest time of the next orphan unload (ms).
orphan_error: Option<String>Last orphan-unload failure (chained once per change).
Trait Implementations§
Source§impl Clone for ControllerLife
impl Clone for ControllerLife
Source§impl Debug for ControllerLife
impl Debug for ControllerLife
Source§impl<'de> Deserialize<'de> for ControllerLife
impl<'de> Deserialize<'de> for ControllerLife
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ControllerLife
impl RefUnwindSafe for ControllerLife
impl Send for ControllerLife
impl Sync for ControllerLife
impl Unpin for ControllerLife
impl UnsafeUnpin for ControllerLife
impl UnwindSafe for ControllerLife
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
Mutably borrows from an owned value. Read more
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> ⓘ
Converts
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> ⓘ
Converts
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