pub struct FlowLauncher<'a> { /* private fields */ }Expand description
Async-first launcher for durable sequential, conditional, and bounded split flows.
Implementations§
Source§impl<'a> FlowLauncher<'a>
impl<'a> FlowLauncher<'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 explicit infrastructure ports.
Sourcepub const fn with_event_sink(self, event_sink: &'a dyn FlowEventSink) -> Self
pub const fn with_event_sink(self, event_sink: &'a dyn FlowEventSink) -> Self
Attaches a non-authoritative flow-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: &FlowJob,
parameters: &JobParameters,
stop_token: &StopToken,
) -> Result<FlowLaunchReport, FlowRuntimeError>
pub async fn launch( &self, job: &FlowJob, parameters: &JobParameters, stop_token: &StopToken, ) -> Result<FlowLaunchReport, FlowRuntimeError>
Executes one durable sequential, conditional, or bounded split attempt.
The source step result is committed before its transition, and the
transition is committed before the next target starts. Expected user
failures are returned in FlowLaunchReport; infrastructure failures
that prevent a trustworthy final snapshot return FlowRuntimeError.
§Errors
Returns FlowRuntimeError when the job bindings are invalid or the
repository cannot durably create, update, or read the execution.
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for FlowLauncher<'a>
impl<'a> !UnwindSafe for FlowLauncher<'a>
impl<'a> Freeze for FlowLauncher<'a>
impl<'a> Send for FlowLauncher<'a>
impl<'a> Sync for FlowLauncher<'a>
impl<'a> Unpin for FlowLauncher<'a>
impl<'a> UnsafeUnpin for FlowLauncher<'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