pub struct JobLauncher<'a> { /* private fields */ }Expand description
Async-first launcher for one-step tasklet jobs.
The launcher borrows its repository, clock, and identifier source and never creates or owns an async runtime.
Implementations§
Source§impl JobLauncher<'_>
impl JobLauncher<'_>
Sourcepub async fn launch_chunk<I, O>(
&self,
job: &mut ChunkJob<I, O>,
parameters: &JobParameters,
stop: &StopToken,
) -> Result<ChunkLaunchReport, LaunchError>
pub async fn launch_chunk<I, O>( &self, job: &mut ChunkJob<I, O>, parameters: &JobParameters, stop: &StopToken, ) -> Result<ChunkLaunchReport, LaunchError>
Launches a stateful one-step chunk job through the existing repository, lifecycle-listener, and event contracts.
The mutable job borrow prevents concurrent use of one stateful reader.
§Errors
Returns LaunchError when repository metadata cannot reach a final
state. Component failures are persisted and returned in the reports.
Source§impl<'a> JobLauncher<'a>
impl<'a> JobLauncher<'a>
Sourcepub const fn new(
repository: &'a dyn JobRepository,
clock: &'a dyn Clock,
ids: &'a dyn IdGenerator,
) -> Self
pub const fn new( repository: &'a dyn JobRepository, clock: &'a dyn Clock, ids: &'a dyn IdGenerator, ) -> Self
Constructs a launcher from explicitly owned infrastructure ports.
Sourcepub const fn with_event_sink(
self,
event_sink: &'a dyn LifecycleEventSink,
) -> Self
pub const fn with_event_sink( self, event_sink: &'a dyn LifecycleEventSink, ) -> Self
Attaches a non-authoritative lifecycle-event sink.
Sourcepub const fn with_execution_control(
self,
owner: OwnerToken,
interval: StopPollInterval,
) -> Self
pub const fn with_execution_control( self, owner: OwnerToken, interval: StopPollInterval, ) -> Self
Enables durable ownership evidence and operator-stop polling.
Sourcepub const fn with_shutdown_signal(self, signal: &'a ShutdownSignal) -> Self
pub const fn with_shutdown_signal(self, signal: &'a ShutdownSignal) -> Self
Attaches the application-owned process-shutdown intake and cancellation signal.
Sourcepub async fn launch(
&self,
job: &TaskletJob,
parameters: &JobParameters,
stop: &StopToken,
) -> Result<LaunchReport, LaunchError>
pub async fn launch( &self, job: &TaskletJob, parameters: &JobParameters, stop: &StopToken, ) -> Result<LaunchReport, LaunchError>
Creates and executes one launch or restart attempt.
Creation is committed before the STARTED transition, and STARTED is
committed before user work. A final status is committed after the
tasklet boundary returns. Dropping this future can therefore leave an
accepted execution in STARTING or STARTED; recovery must inspect the
repository rather than infer an outcome.
§Errors
Returns LaunchError when a repository operation, lifecycle update,
or commit fails. A tasklet error or panic is instead persisted as a
failed execution and returned in LaunchReport.
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for JobLauncher<'a>
impl<'a> !UnwindSafe for JobLauncher<'a>
impl<'a> Freeze for JobLauncher<'a>
impl<'a> Send for JobLauncher<'a>
impl<'a> Sync for JobLauncher<'a>
impl<'a> Unpin for JobLauncher<'a>
impl<'a> UnsafeUnpin for JobLauncher<'a>
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> 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