pub struct WorkflowState {
pub workflow_id: String,
pub execution_id: String,
pub status: WorkflowStatus,
pub task_states: HashMap<String, TaskState>,
pub metadata: WorkflowMetadata,
pub context: ExecutionContext,
}Expand description
Workflow execution state.
Fields§
§workflow_id: StringWorkflow ID.
execution_id: StringWorkflow execution ID (unique per run).
status: WorkflowStatusCurrent workflow status.
task_states: HashMap<String, TaskState>Task states.
metadata: WorkflowMetadataWorkflow metadata.
context: ExecutionContextExecution context.
Implementations§
Source§impl WorkflowState
impl WorkflowState
Sourcepub fn new(workflow_id: String, execution_id: String, name: String) -> Self
pub fn new(workflow_id: String, execution_id: String, name: String) -> Self
Create a new workflow state.
Sourcepub fn start_task(&mut self, task_id: &str) -> Result<()>
pub fn start_task(&mut self, task_id: &str) -> Result<()>
Mark a task as running.
Sourcepub fn complete_task(
&mut self,
task_id: &str,
output: Option<Value>,
) -> Result<()>
pub fn complete_task( &mut self, task_id: &str, output: Option<Value>, ) -> Result<()>
Mark a task as completed.
Sourcepub fn add_task_log(&mut self, task_id: &str, log: String) -> Result<()>
pub fn add_task_log(&mut self, task_id: &str, log: String) -> Result<()>
Add a log entry for a task.
Sourcepub fn get_task_state(&self, task_id: &str) -> Option<&TaskState>
pub fn get_task_state(&self, task_id: &str) -> Option<&TaskState>
Get task state.
Sourcepub fn set_variable(&mut self, key: String, value: Value)
pub fn set_variable(&mut self, key: String, value: Value)
Set a context variable.
Sourcepub fn get_variable(&self, key: &str) -> Option<&Value>
pub fn get_variable(&self, key: &str) -> Option<&Value>
Get a context variable.
Sourcepub fn is_terminal(&self) -> bool
pub fn is_terminal(&self) -> bool
Check if the workflow is terminal (completed, failed, or cancelled).
Trait Implementations§
Source§impl Clone for WorkflowState
impl Clone for WorkflowState
Source§fn clone(&self) -> WorkflowState
fn clone(&self) -> WorkflowState
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for WorkflowState
impl Debug for WorkflowState
Source§impl<'de> Deserialize<'de> for WorkflowState
impl<'de> Deserialize<'de> for WorkflowState
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for WorkflowState
impl RefUnwindSafe for WorkflowState
impl Send for WorkflowState
impl Sync for WorkflowState
impl Unpin for WorkflowState
impl UnsafeUnpin for WorkflowState
impl UnwindSafe for WorkflowState
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