pub struct LifecycleLauncher { /* private fields */ }Expand description
Production implementation of e1’s launcher port.
Implementations§
Source§impl LifecycleLauncher
impl LifecycleLauncher
pub fn new( host_id: HostId, app_paths: AppPaths, diagnostics_root: impl Into<PathBuf>, runner_group_id: u64, timeouts: RecoveryTimeouts, retry: RetryPolicy, ports: LifecyclePorts, ) -> Self
Sourcepub async fn recover_startup(
&self,
policies: &[ScalePolicy],
) -> Result<Vec<ReplacementIntent>, LifecycleError>
pub async fn recover_startup( &self, policies: &[ScalePolicy], ) -> Result<Vec<ReplacementIntent>, LifecycleError>
Reconcile the entire journal before allowing a launch. Unknown-policy attempts are left untouched rather than being acted on without an ownership proof.
Sourcepub async fn supervise(
&self,
policy: &ScalePolicy,
) -> Result<Vec<ReplacementIntent>, LifecycleError>
pub async fn supervise( &self, policy: &ScalePolicy, ) -> Result<Vec<ReplacementIntent>, LifecycleError>
Supervise all attempts of one policy during an ordinary poll.
Trait Implementations§
Source§impl Debug for LifecycleLauncher
impl Debug for LifecycleLauncher
Source§impl RunnerLauncher for LifecycleLauncher
impl RunnerLauncher for LifecycleLauncher
Source§fn supervise<'life0, 'life1, 'async_trait>(
&'life0 self,
policy: &'life1 ScalePolicy,
) -> Pin<Box<dyn Future<Output = Result<Vec<ReplacementIntent>, LaunchFailure>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn supervise<'life0, 'life1, 'async_trait>(
&'life0 self,
policy: &'life1 ScalePolicy,
) -> Pin<Box<dyn Future<Output = Result<Vec<ReplacementIntent>, LaunchFailure>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Reconcile this policy’s existing processes before demand is read and
capacity is recomputed. A concluded pre-acceptance attempt thereby
becomes an ordinary allocation candidate in this same pass; replacement
never bypasses the allocator.
Source§fn attempts<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<RunnerAttempt>, LaunchFailure>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn attempts<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<RunnerAttempt>, LaunchFailure>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Every attempt this host holds, across every policy, terminal ones
included. Read more
Source§fn launch<'life0, 'life1, 'async_trait>(
&'life0 self,
request: LaunchRequest<'life1>,
) -> Pin<Box<dyn Future<Output = Result<RunnerAttempt, LaunchFailure>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn launch<'life0, 'life1, 'async_trait>(
&'life0 self,
request: LaunchRequest<'life1>,
) -> Pin<Box<dyn Future<Output = Result<RunnerAttempt, LaunchFailure>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Create exactly one runtime and start one runner, and return the attempt
that now exists. Read more
Auto Trait Implementations§
impl !Freeze for LifecycleLauncher
impl !RefUnwindSafe for LifecycleLauncher
impl !UnwindSafe for LifecycleLauncher
impl Send for LifecycleLauncher
impl Sync for LifecycleLauncher
impl Unpin for LifecycleLauncher
impl UnsafeUnpin for LifecycleLauncher
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