pub enum MonitorResult {
ProcessCompleted,
TimedOut {
escalated: bool,
},
}Expand description
Result of idle timeout monitoring.
Variants§
ProcessCompleted
Process completed normally (not killed by monitor).
TimedOut
Idle timeout was exceeded and termination was initiated.
In the common case the subprocess exits promptly after SIGTERM/SIGKILL, and by the time this result is returned the process is already gone.
In pathological cases (e.g. a stuck/unresponsive subprocess or one that
does not terminate even after repeated SIGKILL attempts), the monitor may
return TimedOut after a bounded enforcement window so the pipeline can
regain control. When that happens, a background reaper continues best-effort
SIGKILL attempts until the process is observed dead.
The escalated flag indicates whether SIGKILL/taskkill was required:
false: Process terminated after SIGTERM within grace periodtrue: Process did not respond to SIGTERM, required SIGKILL/taskkill
Trait Implementations§
Source§impl Clone for MonitorResult
impl Clone for MonitorResult
Source§fn clone(&self) -> MonitorResult
fn clone(&self) -> MonitorResult
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MonitorResult
impl Debug for MonitorResult
Source§impl PartialEq for MonitorResult
impl PartialEq for MonitorResult
impl Copy for MonitorResult
impl Eq for MonitorResult
impl StructuralPartialEq for MonitorResult
Auto Trait Implementations§
impl Freeze for MonitorResult
impl RefUnwindSafe for MonitorResult
impl Send for MonitorResult
impl Sync for MonitorResult
impl Unpin for MonitorResult
impl UnwindSafe for MonitorResult
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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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