Skip to main content

SupervisedModule

Struct SupervisedModule 

Source
pub struct SupervisedModule { /* private fields */ }
Expand description

Handle to one supervised child process.

Implementations§

Source§

impl SupervisedModule

Source

pub fn module_id(&self) -> &str

Source

pub fn state(&self) -> Result<ModuleState, SuperviseError>

Source

pub fn stderr_tail( &self, max_lines: Option<usize>, max_bytes: Option<usize>, ) -> StderrTailSnapshot

The module’s retained stderr, newest lines last.

Deliberately NOT on Self::status: a bounded tail is kilobytes per module, supervisor.list renders every module, and putting it in the shared snapshot would make each status read carry a payload almost nobody asked for. Callers that want the text ask for it.

Source

pub fn terminal_history(&self) -> TerminalHistorySnapshot

The module’s bounded terminal history, oldest retained exit first.

The daemon-start stamp distinguishes a quiet supervisor from a replacement daemon whose in-memory history was necessarily reset.

Source

pub fn durable_terminal_history(&self) -> TerminalHistory

Retained observations from the current ring and all journal generations.

Blocking: this reads the journal files. Async callers use Self::read_durable_terminal_history.

Source

pub fn status(&self) -> Result<ModuleStatus, SuperviseError>

Source

pub async fn drain(&self) -> Result<(), SuperviseError>

Drain the module and stop monitoring it.

Source

pub async fn stop(&self) -> Result<(), SuperviseError>

Source

pub async fn restart( &self, drain_timeout_ms: Option<u64>, ) -> Result<(), SuperviseError>

Source

pub async fn swap( &self, ready_timeout: Option<Duration>, ) -> Result<(), SuperviseError>

Blue/green restart: see [SupervisorCommand::Swap] and the supervisor_swap module. Returns once the swap has cut over (the old process then drains in the background of the supervise loop) or has failed, leaving the old process serving.

Source

pub async fn reload(&self) -> Result<(), SuperviseError>

Source

pub async fn set_enabled(&self, enabled: bool) -> Result<bool, SuperviseError>

Trait Implementations§

Source§

impl Clone for SupervisedModule

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SupervisedModule

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more