ExtendedWorkflowEngine

Struct ExtendedWorkflowEngine 

Source
pub struct ExtendedWorkflowEngine { /* private fields */ }
Expand description

Extended workflow engine - builds on core workflow functionality

Implementations§

Source§

impl ExtendedWorkflowEngine

Source

pub fn builder() -> WorkflowEngineBuilder

Source

pub fn activity_registry(&self) -> &Arc<ActivityRegistry>

Get activity registry for registering activities

Source

pub async fn start_workflow( &mut self, workflow_ir: &WorkflowIR, inputs: HashMap<String, Value>, ) -> Result<WorkflowExecutionId, WorkflowError>

Start workflow execution

Source

pub async fn wait_for_completion( &self, execution_id: WorkflowExecutionId, timeout: Option<Duration>, ) -> Result<WorkflowResult, WorkflowError>

Wait for workflow completion

Source

pub async fn get_execution_status( &self, execution_id: &WorkflowExecutionId, ) -> Result<Option<ExecutionStatus>, WorkflowError>

Get workflow execution status

Source

pub async fn get_execution( &self, execution_id: &WorkflowExecutionId, ) -> Result<Option<WorkflowExecution>, WorkflowError>

Get workflow execution details

Source

pub async fn list_running_executions( &self, ) -> Result<Vec<WorkflowExecution>, WorkflowError>

List running executions

Source

pub async fn cancel_execution( &self, execution_id: &WorkflowExecutionId, ) -> Result<(), WorkflowError>

Cancel workflow execution

Source

pub async fn get_execution_at_tx( &self, execution_id: &WorkflowExecutionId, tx_id: TxId, ) -> Option<WorkflowExecution>

Phase 2: Get workflow execution at specific transaction

Source

pub async fn get_execution_history( &self, execution_id: &WorkflowExecutionId, ) -> Vec<(TxId, WorkflowExecution)>

Phase 2: Get execution history (all versions)

Source

pub async fn get_event_history( &self, execution_id: &WorkflowExecutionId, ) -> Result<Vec<ExecutionEvent>, WorkflowError>

Phase 2: Get full event history

Source

pub async fn rebuild_execution_from_events( &self, execution_id: &WorkflowExecutionId, ) -> Result<Option<WorkflowExecution>, WorkflowError>

Phase 2: Rebuild execution from events (for recovery)

Source

pub async fn create_snapshot( &self, execution_id: &WorkflowExecutionId, ) -> Result<(), WorkflowError>

Phase 2: Create manual snapshot

Source

pub async fn restore_from_snapshot( &self, execution_id: &WorkflowExecutionId, ) -> Result<Option<WorkflowExecution>, WorkflowError>

Phase 2: Restore from snapshot

Source

pub async fn get_performance_stats(&self) -> HashMap<String, usize>

Phase 2: Get performance statistics

Source

pub fn event_sourcing(&self) -> &Arc<EventSourcingManager>

Phase 2: Access event sourcing manager

Source

pub fn snapshot_manager(&self) -> &Arc<SnapshotManager>

Phase 2: Access snapshot manager

Source

pub fn enable_distributed_execution( &mut self, local_node_id: String, load_balancer: Arc<dyn LoadBalancer>, )

Phase 2: Enable distributed execution

Source

pub async fn submit_distributed_workflow( &self, execution_id: WorkflowExecutionId, ) -> Result<String, WorkflowError>

Phase 2: Submit workflow for distributed execution

Source

pub async fn get_cluster_health(&self) -> Result<ClusterHealth, WorkflowError>

Phase 2: Get cluster health

Source

pub fn distributed_execution_manager( &self, ) -> Option<&Arc<DistributedExecutionManager>>

Phase 2: Get distributed execution manager

Source

pub fn is_distributed_enabled(&self) -> bool

Phase 2: Check if distributed execution is enabled

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,