pub struct PostgresProvider { /* private fields */ }Expand description
PostgreSQL-based provider for Duroxide durable orchestrations.
Implements the Provider and ProviderAdmin traits from Duroxide,
storing orchestration state, history, and work queues in PostgreSQL.
§Example
use duroxide_pg::PostgresProvider;
// Connect using DATABASE_URL or explicit connection string
let provider = PostgresProvider::new("postgres://localhost/mydb").await?;
// Or use a custom schema for isolation
let provider = PostgresProvider::new_with_schema(
"postgres://localhost/mydb",
Some("my_app"),
).await?;Implementations§
Source§impl PostgresProvider
impl PostgresProvider
pub async fn new(database_url: &str) -> Result<Self>
pub async fn new_with_schema( database_url: &str, schema_name: Option<&str>, ) -> Result<Self>
pub async fn initialize_schema(&self) -> Result<()>
Sourcepub fn schema_name(&self) -> &str
pub fn schema_name(&self) -> &str
Get the schema name (for testing)
Sourcepub async fn cleanup_schema(&self) -> Result<()>
pub async fn cleanup_schema(&self) -> Result<()>
Clean up schema after tests (drops all tables and optionally the schema)
SAFETY: Never drops the “public” schema itself, only tables within it. Only drops the schema if it’s a custom schema (not “public”).
Trait Implementations§
Source§impl Provider for PostgresProvider
impl Provider for PostgresProvider
Source§fn fetch_orchestration_item<'life0, 'life1, 'async_trait>(
&'life0 self,
lock_timeout: Duration,
_poll_timeout: Duration,
filter: Option<&'life1 DispatcherCapabilityFilter>,
) -> Pin<Box<dyn Future<Output = Result<Option<(OrchestrationItem, String, u32)>, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn fetch_orchestration_item<'life0, 'life1, 'async_trait>(
&'life0 self,
lock_timeout: Duration,
_poll_timeout: Duration,
filter: Option<&'life1 DispatcherCapabilityFilter>,
) -> Pin<Box<dyn Future<Output = Result<Option<(OrchestrationItem, String, u32)>, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Fetch the next orchestration work item atomically. Read more
Source§fn ack_orchestration_item<'life0, 'life1, 'async_trait>(
&'life0 self,
lock_token: &'life1 str,
execution_id: u64,
history_delta: Vec<Event>,
worker_items: Vec<WorkItem>,
orchestrator_items: Vec<WorkItem>,
metadata: ExecutionMetadata,
cancelled_activities: Vec<ScheduledActivityIdentifier>,
) -> Pin<Box<dyn Future<Output = Result<(), ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn ack_orchestration_item<'life0, 'life1, 'async_trait>(
&'life0 self,
lock_token: &'life1 str,
execution_id: u64,
history_delta: Vec<Event>,
worker_items: Vec<WorkItem>,
orchestrator_items: Vec<WorkItem>,
metadata: ExecutionMetadata,
cancelled_activities: Vec<ScheduledActivityIdentifier>,
) -> Pin<Box<dyn Future<Output = Result<(), ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Acknowledge successful orchestration processing atomically. Read more
Source§fn abandon_orchestration_item<'life0, 'life1, 'async_trait>(
&'life0 self,
lock_token: &'life1 str,
delay: Option<Duration>,
ignore_attempt: bool,
) -> Pin<Box<dyn Future<Output = Result<(), ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn abandon_orchestration_item<'life0, 'life1, 'async_trait>(
&'life0 self,
lock_token: &'life1 str,
delay: Option<Duration>,
ignore_attempt: bool,
) -> Pin<Box<dyn Future<Output = Result<(), ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Abandon orchestration processing (used for errors/retries). Read more
Source§fn read<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<Event>, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn read<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<Event>, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Read the full history for the latest execution of an instance. Read more
Source§fn append_with_execution<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 str,
execution_id: u64,
new_events: Vec<Event>,
) -> Pin<Box<dyn Future<Output = Result<(), ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn append_with_execution<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 str,
execution_id: u64,
new_events: Vec<Event>,
) -> Pin<Box<dyn Future<Output = Result<(), ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Append events to a specific execution. Read more
Source§fn enqueue_for_worker<'life0, 'async_trait>(
&'life0 self,
item: WorkItem,
) -> Pin<Box<dyn Future<Output = Result<(), ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn enqueue_for_worker<'life0, 'async_trait>(
&'life0 self,
item: WorkItem,
) -> Pin<Box<dyn Future<Output = Result<(), ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Enqueue an activity execution request. Read more
Source§fn fetch_work_item<'life0, 'life1, 'async_trait>(
&'life0 self,
lock_timeout: Duration,
_poll_timeout: Duration,
session: Option<&'life1 SessionFetchConfig>,
) -> Pin<Box<dyn Future<Output = Result<Option<(WorkItem, String, u32)>, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn fetch_work_item<'life0, 'life1, 'async_trait>(
&'life0 self,
lock_timeout: Duration,
_poll_timeout: Duration,
session: Option<&'life1 SessionFetchConfig>,
) -> Pin<Box<dyn Future<Output = Result<Option<(WorkItem, String, u32)>, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Dequeue a single work item with peek-lock semantics. Read more
Source§fn ack_work_item<'life0, 'life1, 'async_trait>(
&'life0 self,
token: &'life1 str,
completion: Option<WorkItem>,
) -> Pin<Box<dyn Future<Output = Result<(), ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn ack_work_item<'life0, 'life1, 'async_trait>(
&'life0 self,
token: &'life1 str,
completion: Option<WorkItem>,
) -> Pin<Box<dyn Future<Output = Result<(), ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Acknowledge successful processing of a work item. Read more
Source§fn renew_work_item_lock<'life0, 'life1, 'async_trait>(
&'life0 self,
token: &'life1 str,
extend_for: Duration,
) -> Pin<Box<dyn Future<Output = Result<(), ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn renew_work_item_lock<'life0, 'life1, 'async_trait>(
&'life0 self,
token: &'life1 str,
extend_for: Duration,
) -> Pin<Box<dyn Future<Output = Result<(), ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Renew the lock on a worker queue item. Read more
Source§fn abandon_work_item<'life0, 'life1, 'async_trait>(
&'life0 self,
token: &'life1 str,
delay: Option<Duration>,
ignore_attempt: bool,
) -> Pin<Box<dyn Future<Output = Result<(), ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn abandon_work_item<'life0, 'life1, 'async_trait>(
&'life0 self,
token: &'life1 str,
delay: Option<Duration>,
ignore_attempt: bool,
) -> Pin<Box<dyn Future<Output = Result<(), ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Abandon work item processing (release lock without completing). Read more
Source§fn renew_orchestration_item_lock<'life0, 'life1, 'async_trait>(
&'life0 self,
token: &'life1 str,
extend_for: Duration,
) -> Pin<Box<dyn Future<Output = Result<(), ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn renew_orchestration_item_lock<'life0, 'life1, 'async_trait>(
&'life0 self,
token: &'life1 str,
extend_for: Duration,
) -> Pin<Box<dyn Future<Output = Result<(), ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Renew the lock on an orchestration item. Read more
Source§fn enqueue_for_orchestrator<'life0, 'async_trait>(
&'life0 self,
item: WorkItem,
delay: Option<Duration>,
) -> Pin<Box<dyn Future<Output = Result<(), ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn enqueue_for_orchestrator<'life0, 'async_trait>(
&'life0 self,
item: WorkItem,
delay: Option<Duration>,
) -> Pin<Box<dyn Future<Output = Result<(), ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Enqueue a work item to the orchestrator queue. Read more
Source§fn read_with_execution<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 str,
execution_id: u64,
) -> Pin<Box<dyn Future<Output = Result<Vec<Event>, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn read_with_execution<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 str,
execution_id: u64,
) -> Pin<Box<dyn Future<Output = Result<Vec<Event>, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Read the full event history for a specific execution within an instance. Read more
Source§fn renew_session_lock<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
owner_ids: &'life1 [&'life2 str],
extend_for: Duration,
idle_timeout: Duration,
) -> Pin<Box<dyn Future<Output = Result<usize, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn renew_session_lock<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
owner_ids: &'life1 [&'life2 str],
extend_for: Duration,
idle_timeout: Duration,
) -> Pin<Box<dyn Future<Output = Result<usize, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Heartbeat all non-idle sessions owned by the given workers. Read more
Source§fn cleanup_orphaned_sessions<'life0, 'async_trait>(
&'life0 self,
_idle_timeout: Duration,
) -> Pin<Box<dyn Future<Output = Result<usize, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn cleanup_orphaned_sessions<'life0, 'async_trait>(
&'life0 self,
_idle_timeout: Duration,
) -> Pin<Box<dyn Future<Output = Result<usize, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Sweep orphaned session entries. Read more
Source§fn as_management_capability(&self) -> Option<&dyn ProviderAdmin>
fn as_management_capability(&self) -> Option<&dyn ProviderAdmin>
Check if this provider implements management capabilities. Read more
Source§fn get_custom_status<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 str,
last_seen_version: u64,
) -> Pin<Box<dyn Future<Output = Result<Option<(Option<String>, u64)>, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_custom_status<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 str,
last_seen_version: u64,
) -> Pin<Box<dyn Future<Output = Result<Option<(Option<String>, u64)>, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Lightweight check for custom status changes. Read more
Source§impl ProviderAdmin for PostgresProvider
impl ProviderAdmin for PostgresProvider
Source§fn list_instances<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_instances<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
List all known instance IDs. Read more
Source§fn list_instances_by_status<'life0, 'life1, 'async_trait>(
&'life0 self,
status: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list_instances_by_status<'life0, 'life1, 'async_trait>(
&'life0 self,
status: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
List instances matching a status filter. Read more
Source§fn list_executions<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<u64>, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list_executions<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<u64>, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
List all execution IDs for an instance. Read more
Source§fn read_history_with_execution_id<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 str,
execution_id: u64,
) -> Pin<Box<dyn Future<Output = Result<Vec<Event>, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn read_history_with_execution_id<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 str,
execution_id: u64,
) -> Pin<Box<dyn Future<Output = Result<Vec<Event>, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Read the full event history for a specific execution within an instance. Read more
Source§fn read_history<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<Event>, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn read_history<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<Event>, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Read the full event history for the latest execution of an instance. Read more
Source§fn latest_execution_id<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<u64, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn latest_execution_id<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<u64, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get the latest (current) execution ID for an instance. Read more
Source§fn get_instance_info<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<InstanceInfo, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_instance_info<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<InstanceInfo, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get comprehensive information about an instance. Read more
Source§fn get_execution_info<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 str,
execution_id: u64,
) -> Pin<Box<dyn Future<Output = Result<ExecutionInfo, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_execution_info<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 str,
execution_id: u64,
) -> Pin<Box<dyn Future<Output = Result<ExecutionInfo, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get detailed information about a specific execution. Read more
Source§fn get_system_metrics<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<SystemMetrics, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_system_metrics<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<SystemMetrics, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get system-wide metrics for the orchestration engine. Read more
Source§fn get_queue_depths<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<QueueDepths, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_queue_depths<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<QueueDepths, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get the current depths of the internal work queues. Read more
Source§fn list_children<'life0, 'life1, 'async_trait>(
&'life0 self,
instance_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list_children<'life0, 'life1, 'async_trait>(
&'life0 self,
instance_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
List direct children of an instance. Read more
Source§fn get_parent_id<'life0, 'life1, 'async_trait>(
&'life0 self,
instance_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<String>, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_parent_id<'life0, 'life1, 'async_trait>(
&'life0 self,
instance_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<String>, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get the parent instance ID. Read more
Source§fn delete_instances_atomic<'life0, 'life1, 'async_trait>(
&'life0 self,
ids: &'life1 [String],
force: bool,
) -> Pin<Box<dyn Future<Output = Result<DeleteInstanceResult, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete_instances_atomic<'life0, 'life1, 'async_trait>(
&'life0 self,
ids: &'life1 [String],
force: bool,
) -> Pin<Box<dyn Future<Output = Result<DeleteInstanceResult, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Atomically delete a batch of instances. Read more
Source§fn delete_instance_bulk<'life0, 'async_trait>(
&'life0 self,
filter: InstanceFilter,
) -> Pin<Box<dyn Future<Output = Result<DeleteInstanceResult, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn delete_instance_bulk<'life0, 'async_trait>(
&'life0 self,
filter: InstanceFilter,
) -> Pin<Box<dyn Future<Output = Result<DeleteInstanceResult, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Delete multiple orchestration instances matching the filter criteria. Read more
Source§fn prune_executions<'life0, 'life1, 'async_trait>(
&'life0 self,
instance_id: &'life1 str,
options: PruneOptions,
) -> Pin<Box<dyn Future<Output = Result<PruneResult, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn prune_executions<'life0, 'life1, 'async_trait>(
&'life0 self,
instance_id: &'life1 str,
options: PruneOptions,
) -> Pin<Box<dyn Future<Output = Result<PruneResult, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Prune old executions from a single instance. Read more
Source§fn prune_executions_bulk<'life0, 'async_trait>(
&'life0 self,
filter: InstanceFilter,
options: PruneOptions,
) -> Pin<Box<dyn Future<Output = Result<PruneResult, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn prune_executions_bulk<'life0, 'async_trait>(
&'life0 self,
filter: InstanceFilter,
options: PruneOptions,
) -> Pin<Box<dyn Future<Output = Result<PruneResult, ProviderError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Prune old executions from multiple instances matching the filter. Read more
Source§fn get_instance_tree<'life0, 'life1, 'async_trait>(
&'life0 self,
instance_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<InstanceTree, ProviderError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn get_instance_tree<'life0, 'life1, 'async_trait>(
&'life0 self,
instance_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<InstanceTree, ProviderError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Get the full instance tree rooted at the given instance. Read more
Source§fn delete_instance<'life0, 'life1, 'async_trait>(
&'life0 self,
instance_id: &'life1 str,
force: bool,
) -> Pin<Box<dyn Future<Output = Result<DeleteInstanceResult, ProviderError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn delete_instance<'life0, 'life1, 'async_trait>(
&'life0 self,
instance_id: &'life1 str,
force: bool,
) -> Pin<Box<dyn Future<Output = Result<DeleteInstanceResult, ProviderError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Delete a single orchestration instance and all its associated data. Read more
Auto Trait Implementations§
impl Freeze for PostgresProvider
impl !RefUnwindSafe for PostgresProvider
impl Send for PostgresProvider
impl Sync for PostgresProvider
impl Unpin for PostgresProvider
impl UnsafeUnpin for PostgresProvider
impl !UnwindSafe for PostgresProvider
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more