pub struct WorkflowExecution {
pub execution_id: Uuid,
pub workflow_name: String,
/* private fields */
}Expand description
Handle for managing an asynchronous workflow execution.
This struct provides methods to monitor and control a running workflow execution. It can be used to check status, wait for completion, or cancel the execution.
Fields§
§execution_id: UuidUnique identifier for this execution
workflow_name: StringName of the workflow being executed
Implementations§
Source§impl WorkflowExecution
impl WorkflowExecution
Sourcepub fn new(
execution_id: Uuid,
workflow_name: String,
executor: DefaultRunner,
) -> Self
pub fn new( execution_id: Uuid, workflow_name: String, executor: DefaultRunner, ) -> Self
Creates a new workflow execution handle.
§Arguments
execution_id- Unique identifier for the executionworkflow_name- Name of the workflow being executedexecutor- The executor instance managing this execution
Sourcepub async fn wait_for_completion(
self,
) -> Result<WorkflowExecutionResult, WorkflowExecutionError>
pub async fn wait_for_completion( self, ) -> Result<WorkflowExecutionResult, WorkflowExecutionError>
Waits for the workflow to complete execution.
This method blocks until the workflow reaches a terminal state.
§Returns
Ok(WorkflowExecutionResult)- The final result of the workflow executionErr(WorkflowExecutionError)- If the execution fails or encounters an error
Sourcepub async fn wait_for_completion_with_timeout(
self,
timeout: Option<Duration>,
) -> Result<WorkflowExecutionResult, WorkflowExecutionError>
pub async fn wait_for_completion_with_timeout( self, timeout: Option<Duration>, ) -> Result<WorkflowExecutionResult, WorkflowExecutionError>
Sourcepub async fn get_status(&self) -> Result<WorkflowStatus, WorkflowExecutionError>
pub async fn get_status(&self) -> Result<WorkflowStatus, WorkflowExecutionError>
Gets the current status of the workflow execution.
§Returns
Ok(WorkflowStatus)- The current status of the executionErr(WorkflowExecutionError)- If the status cannot be retrieved
Sourcepub async fn cancel(&self) -> Result<(), WorkflowExecutionError>
pub async fn cancel(&self) -> Result<(), WorkflowExecutionError>
Cancels the workflow execution.
This method attempts to gracefully stop the workflow execution.
§Returns
Ok(())- If the cancellation was successfulErr(WorkflowExecutionError)- If the cancellation failed
Sourcepub async fn pause(
&self,
reason: Option<&str>,
) -> Result<(), WorkflowExecutionError>
pub async fn pause( &self, reason: Option<&str>, ) -> Result<(), WorkflowExecutionError>
Pauses the workflow execution.
When paused, no new tasks will be scheduled, but in-flight tasks will complete normally. The workflow can be resumed later.
§Arguments
reason- Optional reason for pausing the execution
§Returns
Ok(())- If the pause was successfulErr(WorkflowExecutionError)- If the pause failed
Auto Trait Implementations§
impl Freeze for WorkflowExecution
impl !RefUnwindSafe for WorkflowExecution
impl Send for WorkflowExecution
impl Sync for WorkflowExecution
impl Unpin for WorkflowExecution
impl UnsafeUnpin for WorkflowExecution
impl !UnwindSafe for WorkflowExecution
Blanket Implementations§
Source§impl<T> AggregateExpressionMethods for T
impl<T> AggregateExpressionMethods for T
Source§fn aggregate_distinct(self) -> Self::Outputwhere
Self: DistinctDsl,
fn aggregate_distinct(self) -> Self::Outputwhere
Self: DistinctDsl,
DISTINCT modifier for aggregate functions Read moreSource§fn aggregate_all(self) -> Self::Outputwhere
Self: AllDsl,
fn aggregate_all(self) -> Self::Outputwhere
Self: AllDsl,
ALL modifier for aggregate functions Read moreSource§fn aggregate_filter<P>(self, f: P) -> Self::Output
fn aggregate_filter<P>(self, f: P) -> Self::Output
Add an aggregate function filter Read more
Source§fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
Add an aggregate function order Read more
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for 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> IntoSql for T
impl<T> IntoSql for T
Source§fn into_sql<T>(self) -> Self::Expression
fn into_sql<T>(self) -> Self::Expression
Convert
self to an expression for Diesel’s query builder. Read moreSource§fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
Convert
&self to an expression for Diesel’s query builder. Read moreSource§impl<T> WindowExpressionMethods for T
impl<T> WindowExpressionMethods for T
Source§fn over(self) -> Self::Outputwhere
Self: OverDsl,
fn over(self) -> Self::Outputwhere
Self: OverDsl,
Turn a function call into a window function call Read more
Source§fn window_filter<P>(self, f: P) -> Self::Output
fn window_filter<P>(self, f: P) -> Self::Output
Add a filter to the current window function Read more
Source§fn partition_by<E>(self, expr: E) -> Self::Outputwhere
Self: PartitionByDsl<E>,
fn partition_by<E>(self, expr: E) -> Self::Outputwhere
Self: PartitionByDsl<E>,
Add a partition clause to the current window function Read more
Source§fn window_order<E>(self, expr: E) -> Self::Outputwhere
Self: OrderWindowDsl<E>,
fn window_order<E>(self, expr: E) -> Self::Outputwhere
Self: OrderWindowDsl<E>,
Add a order clause to the current window function Read more