pub struct StateManager;Expand description
Manages workflow execution state
Implementations§
Source§impl StateManager
impl StateManager
Sourcepub fn create_state(workflow: &Workflow) -> WorkflowState
pub fn create_state(workflow: &Workflow) -> WorkflowState
Create a new workflow state
Sourcepub fn start_workflow(state: &mut WorkflowState)
pub fn start_workflow(state: &mut WorkflowState)
Update workflow state to running
Sourcepub fn start_step(state: &mut WorkflowState, step_id: String)
pub fn start_step(state: &mut WorkflowState, step_id: String)
Mark a step as started
Sourcepub fn complete_step(
state: &mut WorkflowState,
step_id: String,
output: Option<Value>,
duration_ms: u64,
)
pub fn complete_step( state: &mut WorkflowState, step_id: String, output: Option<Value>, duration_ms: u64, )
Mark a step as completed
Sourcepub fn fail_step(
state: &mut WorkflowState,
step_id: String,
error: String,
duration_ms: u64,
)
pub fn fail_step( state: &mut WorkflowState, step_id: String, error: String, duration_ms: u64, )
Mark a step as failed
Sourcepub fn skip_step(state: &mut WorkflowState, step_id: String)
pub fn skip_step(state: &mut WorkflowState, step_id: String)
Mark a step as skipped
Sourcepub fn wait_for_approval(state: &mut WorkflowState)
pub fn wait_for_approval(state: &mut WorkflowState)
Mark workflow as waiting for approval
Sourcepub fn complete_workflow(state: &mut WorkflowState)
pub fn complete_workflow(state: &mut WorkflowState)
Mark workflow as completed
Sourcepub fn fail_workflow(state: &mut WorkflowState)
pub fn fail_workflow(state: &mut WorkflowState)
Mark workflow as failed
Sourcepub fn cancel_workflow(state: &mut WorkflowState)
pub fn cancel_workflow(state: &mut WorkflowState)
Mark workflow as cancelled
Sourcepub fn pause_workflow(state: &mut WorkflowState) -> WorkflowResult<()>
pub fn pause_workflow(state: &mut WorkflowState) -> WorkflowResult<()>
Pause workflow execution at current step
Sourcepub fn resume_workflow(state: &mut WorkflowState) -> WorkflowResult<()>
pub fn resume_workflow(state: &mut WorkflowState) -> WorkflowResult<()>
Resume workflow execution from paused step
Sourcepub fn is_step_completed(state: &WorkflowState, step_id: &str) -> bool
pub fn is_step_completed(state: &WorkflowState, step_id: &str) -> bool
Check if a step has already been completed
Sourcepub fn get_next_step_to_execute(
state: &WorkflowState,
available_steps: &[String],
) -> Option<String>
pub fn get_next_step_to_execute( state: &WorkflowState, available_steps: &[String], ) -> Option<String>
Get the next step to execute (skipping completed steps)
Sourcepub fn persist_state(state: &WorkflowState, path: &Path) -> WorkflowResult<()>
pub fn persist_state(state: &WorkflowState, path: &Path) -> WorkflowResult<()>
Persist workflow state to file (YAML format)
Sourcepub fn persist_state_json(
state: &WorkflowState,
path: &Path,
) -> WorkflowResult<()>
pub fn persist_state_json( state: &WorkflowState, path: &Path, ) -> WorkflowResult<()>
Persist workflow state to file (JSON format)
Sourcepub fn load_state(path: &Path) -> WorkflowResult<WorkflowState>
pub fn load_state(path: &Path) -> WorkflowResult<WorkflowState>
Load workflow state from file (auto-detects YAML or JSON)
Sourcepub fn validate_state(state: &WorkflowState) -> WorkflowResult<()>
pub fn validate_state(state: &WorkflowState) -> WorkflowResult<()>
Validate state integrity
Sourcepub fn load_state_validated(path: &Path) -> WorkflowResult<WorkflowState>
pub fn load_state_validated(path: &Path) -> WorkflowResult<WorkflowState>
Load state with validation
Sourcepub fn load_state_with_recovery(path: &Path) -> WorkflowResult<WorkflowState>
pub fn load_state_with_recovery(path: &Path) -> WorkflowResult<WorkflowState>
Handle corrupted state file gracefully
Sourcepub fn get_progress(state: &WorkflowState, total_steps: usize) -> u32
pub fn get_progress(state: &WorkflowState, total_steps: usize) -> u32
Get progress percentage (0-100)
Auto Trait Implementations§
impl Freeze for StateManager
impl RefUnwindSafe for StateManager
impl Send for StateManager
impl Sync for StateManager
impl Unpin for StateManager
impl UnwindSafe for StateManager
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