pub struct MemStateBackend { /* private fields */ }Expand description
In-memory state backend.
Stores invocations, calls, results, and history in process memory. Suitable for testing and development only.
Implementations§
Trait Implementations§
Source§impl Default for MemStateBackend
impl Default for MemStateBackend
Source§impl StateBackendCore for MemStateBackend
impl StateBackendCore for MemStateBackend
Source§fn upsert_invocation<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
invocation: &'life1 InvocationDTO,
call: &'life2 CallDTO,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn upsert_invocation<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
invocation: &'life1 InvocationDTO,
call: &'life2 CallDTO,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Store or update an invocation and its associated call.
Source§fn get_invocation<'life0, 'life1, 'async_trait>(
&'life0 self,
invocation_id: &'life1 InvocationId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<InvocationDTO>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_invocation<'life0, 'life1, 'async_trait>(
&'life0 self,
invocation_id: &'life1 InvocationId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<InvocationDTO>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Retrieve an invocation by ID.
Source§fn get_call<'life0, 'life1, 'async_trait>(
&'life0 self,
call_id: &'life1 CallId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<CallDTO>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_call<'life0, 'life1, 'async_trait>(
&'life0 self,
call_id: &'life1 CallId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<CallDTO>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Retrieve a call by ID.
Source§fn store_result<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
invocation_id: &'life1 InvocationId,
result: &'life2 str,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn store_result<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
invocation_id: &'life1 InvocationId,
result: &'life2 str,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Store the result of a successful invocation.
Source§fn get_result<'life0, 'life1, 'async_trait>(
&'life0 self,
invocation_id: &'life1 InvocationId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Option<String>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_result<'life0, 'life1, 'async_trait>(
&'life0 self,
invocation_id: &'life1 InvocationId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Option<String>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Retrieve the result of a completed invocation.
Source§fn store_error<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
invocation_id: &'life1 InvocationId,
error: &'life2 TaskError,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn store_error<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
invocation_id: &'life1 InvocationId,
error: &'life2 TaskError,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Store error information for a failed invocation.
Source§fn get_error<'life0, 'life1, 'async_trait>(
&'life0 self,
invocation_id: &'life1 InvocationId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Option<TaskError>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_error<'life0, 'life1, 'async_trait>(
&'life0 self,
invocation_id: &'life1 InvocationId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Option<TaskError>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Retrieve error information for a failed invocation.
Source§fn add_history<'life0, 'life1, 'async_trait>(
&'life0 self,
history: &'life1 InvocationHistory,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn add_history<'life0, 'life1, 'async_trait>(
&'life0 self,
history: &'life1 InvocationHistory,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Record a status change in the audit log.
Source§fn get_history<'life0, 'life1, 'async_trait>(
&'life0 self,
invocation_id: &'life1 InvocationId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<InvocationHistory>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_history<'life0, 'life1, 'async_trait>(
&'life0 self,
invocation_id: &'life1 InvocationId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<InvocationHistory>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get the full status history for an invocation.
Source§fn purge<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn purge<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Purge all stored data.
Source§fn backend_name(&self) -> &'static str
fn backend_name(&self) -> &'static str
Human-readable name of this backend implementation.
Source§impl StateBackendQuery for MemStateBackend
impl StateBackendQuery for MemStateBackend
Source§fn get_workflow_invocations<'life0, 'life1, 'async_trait>(
&'life0 self,
workflow_id: &'life1 InvocationId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<InvocationId>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_workflow_invocations<'life0, 'life1, 'async_trait>(
&'life0 self,
workflow_id: &'life1 InvocationId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<InvocationId>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get all invocation IDs that belong to a workflow.
Source§fn get_child_invocations<'life0, 'life1, 'async_trait>(
&'life0 self,
parent_invocation_id: &'life1 InvocationId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<InvocationId>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_child_invocations<'life0, 'life1, 'async_trait>(
&'life0 self,
parent_invocation_id: &'life1 InvocationId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<InvocationId>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get direct child invocations of a parent invocation.
Source§fn store_workflow_run<'life0, 'life1, 'async_trait>(
&'life0 self,
workflow: &'life1 WorkflowIdentity,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn store_workflow_run<'life0, 'life1, 'async_trait>(
&'life0 self,
workflow: &'life1 WorkflowIdentity,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Store a workflow run for tracking and monitoring.
Source§fn get_all_workflow_types<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<TaskId>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_all_workflow_types<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<TaskId>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Retrieve all distinct workflow types (task IDs that have started workflows).
Source§fn get_workflow_runs<'life0, 'life1, 'async_trait>(
&'life0 self,
workflow_type: &'life1 TaskId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<WorkflowIdentity>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_workflow_runs<'life0, 'life1, 'async_trait>(
&'life0 self,
workflow_type: &'life1 TaskId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<WorkflowIdentity>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Retrieve workflow run identities for a specific workflow type.
Source§fn set_workflow_data<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
workflow_id: &'life1 InvocationId,
key: &'life2 str,
value: &'life3 str,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn set_workflow_data<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
workflow_id: &'life1 InvocationId,
key: &'life2 str,
value: &'life3 str,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Set a value in the workflow’s key-value data store.
Source§fn get_workflow_data<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
workflow_id: &'life1 InvocationId,
key: &'life2 str,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Option<String>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn get_workflow_data<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
workflow_id: &'life1 InvocationId,
key: &'life2 str,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Option<String>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Get a value from the workflow’s key-value data store.
Source§fn store_app_info<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
app_id: &'life1 str,
info_json: &'life2 str,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn store_app_info<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
app_id: &'life1 str,
info_json: &'life2 str,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Store application info as opaque JSON.
Source§fn get_app_info<'life0, 'life1, 'async_trait>(
&'life0 self,
app_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Option<String>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_app_info<'life0, 'life1, 'async_trait>(
&'life0 self,
app_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Option<String>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get application info by ID.
Source§fn get_all_app_infos<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<(String, String)>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_all_app_infos<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<(String, String)>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get all stored application infos as (app_id, info_json) pairs.
Source§fn store_workflow_sub_invocation<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
workflow_id: &'life1 InvocationId,
sub_inv_id: &'life2 InvocationId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn store_workflow_sub_invocation<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
workflow_id: &'life1 InvocationId,
sub_inv_id: &'life2 InvocationId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Record a sub-invocation belonging to a workflow.
Source§fn get_workflow_sub_invocations<'life0, 'life1, 'async_trait>(
&'life0 self,
workflow_id: &'life1 InvocationId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<InvocationId>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_workflow_sub_invocations<'life0, 'life1, 'async_trait>(
&'life0 self,
workflow_id: &'life1 InvocationId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<InvocationId>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get all sub-invocations for a workflow.
Source§fn get_all_workflow_runs<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<WorkflowIdentity>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_all_workflow_runs<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<WorkflowIdentity>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get all workflow runs across all types. Read more
Source§impl StateBackendRunner for MemStateBackend
impl StateBackendRunner for MemStateBackend
Source§fn store_runner_context<'life0, 'life1, 'async_trait>(
&'life0 self,
context: &'life1 StoredRunnerContext,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn store_runner_context<'life0, 'life1, 'async_trait>(
&'life0 self,
context: &'life1 StoredRunnerContext,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Store a runner’s execution context for monitoring.
Source§fn get_runner_context<'life0, 'life1, 'async_trait>(
&'life0 self,
runner_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Option<StoredRunnerContext>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_runner_context<'life0, 'life1, 'async_trait>(
&'life0 self,
runner_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Option<StoredRunnerContext>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Retrieve a runner’s execution context.
Source§fn get_runner_contexts_by_parent<'life0, 'life1, 'async_trait>(
&'life0 self,
parent_runner_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<StoredRunnerContext>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_runner_contexts_by_parent<'life0, 'life1, 'async_trait>(
&'life0 self,
parent_runner_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<StoredRunnerContext>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get all runner contexts whose
parent_runner_id matches the given runner.Source§fn get_invocation_ids_by_runner<'life0, 'life1, 'async_trait>(
&'life0 self,
runner_id: &'life1 str,
limit: usize,
offset: usize,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<InvocationId>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_invocation_ids_by_runner<'life0, 'life1, 'async_trait>(
&'life0 self,
runner_id: &'life1 str,
limit: usize,
offset: usize,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<InvocationId>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get invocation IDs that were processed by a specific runner (by runner_id in history). Read more
Source§fn count_invocations_by_runner<'life0, 'life1, 'async_trait>(
&'life0 self,
runner_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = RustvelloResult<usize>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn count_invocations_by_runner<'life0, 'life1, 'async_trait>(
&'life0 self,
runner_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = RustvelloResult<usize>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Count invocations that were processed by a specific runner.
Source§fn get_history_in_timerange<'life0, 'async_trait>(
&'life0 self,
start: DateTime<Utc>,
end: DateTime<Utc>,
limit: usize,
offset: usize,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<InvocationHistory>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_history_in_timerange<'life0, 'async_trait>(
&'life0 self,
start: DateTime<Utc>,
end: DateTime<Utc>,
limit: usize,
offset: usize,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<InvocationHistory>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get history entries within a time range, for monitoring log explorers.
Source§fn get_matching_runner_contexts<'life0, 'life1, 'async_trait>(
&'life0 self,
partial_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<StoredRunnerContext>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_matching_runner_contexts<'life0, 'life1, 'async_trait>(
&'life0 self,
partial_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<StoredRunnerContext>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get runner contexts whose runner_id contains the given partial string. Read more
Auto Trait Implementations§
impl !Freeze for MemStateBackend
impl !RefUnwindSafe for MemStateBackend
impl Send for MemStateBackend
impl Sync for MemStateBackend
impl Unpin for MemStateBackend
impl UnsafeUnpin for MemStateBackend
impl !UnwindSafe for MemStateBackend
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