pub struct PostgresStateBackend { /* private fields */ }Expand description
PostgreSQL-backed state backend implementation.
Implementations§
Trait Implementations§
Source§impl StateBackendCore for PostgresStateBackend
impl StateBackendCore for PostgresStateBackend
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 PostgresStateBackend
impl StateBackendQuery for PostgresStateBackend
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 PostgresStateBackend
impl StateBackendRunner for PostgresStateBackend
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 PostgresStateBackend
impl !RefUnwindSafe for PostgresStateBackend
impl Send for PostgresStateBackend
impl Sync for PostgresStateBackend
impl Unpin for PostgresStateBackend
impl UnsafeUnpin for PostgresStateBackend
impl !UnwindSafe for PostgresStateBackend
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