pub struct WorkflowExecutor { /* private fields */ }Expand description
Executes workflows.
Implementations§
Source§impl WorkflowExecutor
impl WorkflowExecutor
Sourcepub fn new(
registry: Arc<WorkflowRegistry>,
pool: PgPool,
http_client: Client,
) -> Self
pub fn new( registry: Arc<WorkflowRegistry>, pool: PgPool, http_client: Client, ) -> Self
Create a new workflow executor.
Sourcepub async fn start<I: Serialize>(
&self,
workflow_name: &str,
input: I,
) -> Result<Uuid>
pub async fn start<I: Serialize>( &self, workflow_name: &str, input: I, ) -> Result<Uuid>
Start a new workflow. Returns immediately with the run_id; workflow executes in the background.
Sourcepub async fn resume(&self, run_id: Uuid) -> Result<WorkflowResult>
pub async fn resume(&self, run_id: Uuid) -> Result<WorkflowResult>
Resume a workflow from where it left off.
Sourcepub async fn resume_from_sleep(&self, run_id: Uuid) -> Result<WorkflowResult>
pub async fn resume_from_sleep(&self, run_id: Uuid) -> Result<WorkflowResult>
Resume a workflow after a sleep timer expired.
Sourcepub async fn status(&self, run_id: Uuid) -> Result<WorkflowRecord>
pub async fn status(&self, run_id: Uuid) -> Result<WorkflowRecord>
Get workflow status.
Sourcepub async fn save_step(&self, step: &WorkflowStepRecord) -> Result<()>
pub async fn save_step(&self, step: &WorkflowStepRecord) -> Result<()>
Save step record.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for WorkflowExecutor
impl !RefUnwindSafe for WorkflowExecutor
impl Send for WorkflowExecutor
impl Sync for WorkflowExecutor
impl Unpin for WorkflowExecutor
impl !UnwindSafe for WorkflowExecutor
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> 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>
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