pub trait WorkflowStepExecutionStore: Send + Sync {
// Required methods
fn insert<'life0, 'async_trait>(
&'life0 self,
execution: WorkflowStepExecution,
) -> Pin<Box<dyn Future<Output = Result<WorkflowStepExecution>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn update<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
run_task_id: &'life1 str,
step_id: &'life2 str,
update: WorkflowStepExecutionUpdate,
) -> Pin<Box<dyn Future<Output = Result<WorkflowStepExecution>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
run_task_id: &'life1 str,
step_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Option<WorkflowStepExecution>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn list<'life0, 'life1, 'async_trait>(
&'life0 self,
run_task_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<WorkflowStepExecution>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
}Expand description
Persist and load WorkflowStepExecution rows.
Implementations: cloud Postgres (production), in-memory (tests + the standalone client-side runner).
Required Methods§
Sourcefn insert<'life0, 'async_trait>(
&'life0 self,
execution: WorkflowStepExecution,
) -> Pin<Box<dyn Future<Output = Result<WorkflowStepExecution>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn insert<'life0, 'async_trait>(
&'life0 self,
execution: WorkflowStepExecution,
) -> Pin<Box<dyn Future<Output = Result<WorkflowStepExecution>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Insert a step execution row. Returns the inserted record.
Sourcefn update<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
run_task_id: &'life1 str,
step_id: &'life2 str,
update: WorkflowStepExecutionUpdate,
) -> Pin<Box<dyn Future<Output = Result<WorkflowStepExecution>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn update<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
run_task_id: &'life1 str,
step_id: &'life2 str,
update: WorkflowStepExecutionUpdate,
) -> Pin<Box<dyn Future<Output = Result<WorkflowStepExecution>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Apply an update to the step identified by (run_task_id, step_id). Returns the updated record.
Sourcefn get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
run_task_id: &'life1 str,
step_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Option<WorkflowStepExecution>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn get<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
run_task_id: &'life1 str,
step_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Option<WorkflowStepExecution>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Fetch one step execution by (run_task_id, step_id).
Sourcefn list<'life0, 'life1, 'async_trait>(
&'life0 self,
run_task_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<WorkflowStepExecution>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list<'life0, 'life1, 'async_trait>(
&'life0 self,
run_task_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<WorkflowStepExecution>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
List all step executions for a run, in insertion order.