pub struct SqliteOrchestrator { /* private fields */ }Expand description
SQLite-backed orchestrator implementation.
Implementations§
Trait Implementations§
Source§impl OrchestratorBlocking for SqliteOrchestrator
impl OrchestratorBlocking for SqliteOrchestrator
Source§fn set_waiting_for<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
waiter: &'life1 InvocationId,
waited_on: &'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 set_waiting_for<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
waiter: &'life1 InvocationId,
waited_on: &'life2 InvocationId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Mark that
waiter is waiting for waited_on to complete.Source§fn get_waiters<'life0, 'life1, 'async_trait>(
&'life0 self,
waited_on: &'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_waiters<'life0, 'life1, 'async_trait>(
&'life0 self,
waited_on: &'life1 InvocationId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<InvocationId>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get invocations that are waiting on the given invocation.
Source§fn release_waiters<'life0, 'life1, 'async_trait>(
&'life0 self,
completed: &'life1 InvocationId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<InvocationId>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn release_waiters<'life0, 'life1, 'async_trait>(
&'life0 self,
completed: &'life1 InvocationId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<InvocationId>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Release all invocations waiting on the given completed invocation.
Source§impl OrchestratorConcurrency for SqliteOrchestrator
impl OrchestratorConcurrency for SqliteOrchestrator
Source§fn check_running_concurrency<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
task_id: &'life1 TaskId,
task_config: &'life2 TaskConfig,
cc_args: Option<&'life3 SerializedArguments>,
) -> Pin<Box<dyn Future<Output = RustvelloResult<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn check_running_concurrency<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
task_id: &'life1 TaskId,
task_config: &'life2 TaskConfig,
cc_args: Option<&'life3 SerializedArguments>,
) -> Pin<Box<dyn Future<Output = RustvelloResult<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Check if a new invocation is authorized to run given concurrency constraints. Read more
Source§fn index_for_concurrency_control<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
invocation_id: &'life1 InvocationId,
task_id: &'life2 TaskId,
cc_args: Option<&'life3 SerializedArguments>,
) -> 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 index_for_concurrency_control<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
invocation_id: &'life1 InvocationId,
task_id: &'life2 TaskId,
cc_args: Option<&'life3 SerializedArguments>,
) -> 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,
Index an invocation’s arguments for concurrency control tracking. Read more
Source§fn remove_from_concurrency_index<'life0, 'life1, 'async_trait>(
&'life0 self,
invocation_id: &'life1 InvocationId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn remove_from_concurrency_index<'life0, 'life1, 'async_trait>(
&'life0 self,
invocation_id: &'life1 InvocationId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Remove an invocation from the concurrency control index. Read more
Source§fn try_acquire_concurrency_slot<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
invocation_id: &'life1 InvocationId,
task_id: &'life2 TaskId,
task_config: &'life3 TaskConfig,
cc_args: Option<&'life4 SerializedArguments>,
) -> Pin<Box<dyn Future<Output = Result<bool, RustvelloError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Self: 'async_trait,
fn try_acquire_concurrency_slot<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
invocation_id: &'life1 InvocationId,
task_id: &'life2 TaskId,
task_config: &'life3 TaskConfig,
cc_args: Option<&'life4 SerializedArguments>,
) -> Pin<Box<dyn Future<Output = Result<bool, RustvelloError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Self: 'async_trait,
Atomically check concurrency and index if under the limit. Read more
Source§impl OrchestratorQuery for SqliteOrchestrator
impl OrchestratorQuery for SqliteOrchestrator
Source§fn get_invocations_by_task<'life0, 'life1, 'async_trait>(
&'life0 self,
task_id: &'life1 TaskId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<InvocationId>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_invocations_by_task<'life0, 'life1, 'async_trait>(
&'life0 self,
task_id: &'life1 TaskId,
) -> 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 for a given task.
Source§fn get_invocations_by_call<'life0, 'life1, 'async_trait>(
&'life0 self,
call_id: &'life1 CallId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<InvocationId>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_invocations_by_call<'life0, 'life1, 'async_trait>(
&'life0 self,
call_id: &'life1 CallId,
) -> 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 for a given call.
Source§fn get_invocations_by_status<'life0, 'life1, 'async_trait>(
&'life0 self,
status: InvocationStatus,
task_id: Option<&'life1 TaskId>,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<InvocationId>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_invocations_by_status<'life0, 'life1, 'async_trait>(
&'life0 self,
status: InvocationStatus,
task_id: Option<&'life1 TaskId>,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<InvocationId>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get invocations with a specific status, optionally filtered by task.
Source§fn count_invocations<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
task_id: Option<&'life1 TaskId>,
statuses: Option<&'life2 [InvocationStatus]>,
) -> Pin<Box<dyn Future<Output = RustvelloResult<usize>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn count_invocations<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
task_id: Option<&'life1 TaskId>,
statuses: Option<&'life2 [InvocationStatus]>,
) -> Pin<Box<dyn Future<Output = RustvelloResult<usize>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Count invocations, optionally filtered by task and/or statuses. Read more
Source§fn get_invocation_ids_paginated<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
task_id: Option<&'life1 TaskId>,
statuses: Option<&'life2 [InvocationStatus]>,
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,
'life2: 'async_trait,
fn get_invocation_ids_paginated<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
task_id: Option<&'life1 TaskId>,
statuses: Option<&'life2 [InvocationStatus]>,
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,
'life2: 'async_trait,
Get paginated invocation IDs, optionally filtered by task and statuses. Read more
Source§fn get_blocking_invocations<'life0, 'async_trait>(
&'life0 self,
max_num: usize,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<InvocationId>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_blocking_invocations<'life0, 'async_trait>(
&'life0 self,
max_num: usize,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<InvocationId>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get invocations that are blocking other invocations but are not blocked themselves. Read more
Source§fn get_existing_invocations<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
task_id: &'life1 TaskId,
cc_args: Option<&'life2 SerializedArguments>,
statuses: &'life3 [InvocationStatus],
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<InvocationId>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn get_existing_invocations<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
task_id: &'life1 TaskId,
cc_args: Option<&'life2 SerializedArguments>,
statuses: &'life3 [InvocationStatus],
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<InvocationId>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Find existing invocations for a task, filtered by concurrency-control
key arguments and statuses. Read more
Source§fn filter_by_status<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
invocation_ids: &'life1 [InvocationId],
statuses: &'life2 [InvocationStatus],
) -> Pin<Box<dyn Future<Output = Result<Vec<InvocationId>, RustvelloError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Sync + 'async_trait,
fn filter_by_status<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
invocation_ids: &'life1 [InvocationId],
statuses: &'life2 [InvocationStatus],
) -> Pin<Box<dyn Future<Output = Result<Vec<InvocationId>, RustvelloError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Sync + 'async_trait,
Filter a set of invocation IDs by status. Read more
Source§impl OrchestratorRecovery for SqliteOrchestrator
impl OrchestratorRecovery for SqliteOrchestrator
Source§fn register_heartbeat<'life0, 'life1, 'async_trait>(
&'life0 self,
runner_id: &'life1 RunnerId,
can_run_atomic_service: bool,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn register_heartbeat<'life0, 'life1, 'async_trait>(
&'life0 self,
runner_id: &'life1 RunnerId,
can_run_atomic_service: bool,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Register a heartbeat for a runner, indicating it is still alive. Read more
Source§fn get_stale_pending_invocations<'life0, 'async_trait>(
&'life0 self,
max_pending_seconds: u64,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<InvocationId>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_stale_pending_invocations<'life0, 'async_trait>(
&'life0 self,
max_pending_seconds: u64,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<InvocationId>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get invocations stuck in Pending beyond the configured threshold. Read more
Source§fn get_stale_running_invocations<'life0, 'async_trait>(
&'life0 self,
runner_dead_after_seconds: u64,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<InvocationId>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_stale_running_invocations<'life0, 'async_trait>(
&'life0 self,
runner_dead_after_seconds: u64,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<InvocationId>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get Running invocations owned by runners that haven’t sent a
heartbeat within
runner_dead_after_seconds.Source§fn get_active_runner_ids<'life0, 'async_trait>(
&'life0 self,
timeout_seconds: u64,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<RunnerId>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_active_runner_ids<'life0, 'async_trait>(
&'life0 self,
timeout_seconds: u64,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<RunnerId>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get the IDs of all runners that have registered a heartbeat within the
given timeout window. Read more
Source§fn get_active_runners<'life0, 'async_trait>(
&'life0 self,
timeout_seconds: u64,
can_run_atomic_service: Option<bool>,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<ActiveRunnerInfo>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_active_runners<'life0, 'async_trait>(
&'life0 self,
timeout_seconds: u64,
can_run_atomic_service: Option<bool>,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<ActiveRunnerInfo>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get detailed info for active runners, optionally filtered by
can_run_atomic_service eligibility. Read moreSource§fn record_atomic_service_execution<'life0, 'life1, 'async_trait>(
&'life0 self,
runner_id: &'life1 RunnerId,
start: DateTime<Utc>,
end: DateTime<Utc>,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn record_atomic_service_execution<'life0, 'life1, 'async_trait>(
&'life0 self,
runner_id: &'life1 RunnerId,
start: DateTime<Utc>,
end: DateTime<Utc>,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Record that this runner executed the atomic global service. Read more
Source§fn get_atomic_service_timeline<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<AtomicServiceExecution>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_atomic_service_timeline<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<AtomicServiceExecution>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get the timeline of atomic service executions (most recent first).
Source§impl OrchestratorStatus for SqliteOrchestrator
impl OrchestratorStatus for SqliteOrchestrator
Source§fn register_invocation<'life0, 'life1, 'async_trait>(
&'life0 self,
call: &'life1 CallDTO,
) -> Pin<Box<dyn Future<Output = RustvelloResult<InvocationId>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn register_invocation<'life0, 'life1, 'async_trait>(
&'life0 self,
call: &'life1 CallDTO,
) -> Pin<Box<dyn Future<Output = RustvelloResult<InvocationId>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Register a new invocation for the given call.
Sets initial status to
Registered.Source§fn register_invocation_with_id<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
invocation_id: &'life1 InvocationId,
call: &'life2 CallDTO,
runner_id: Option<&'life3 RunnerId>,
) -> Pin<Box<dyn Future<Output = RustvelloResult<InvocationStatusRecord>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn register_invocation_with_id<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
invocation_id: &'life1 InvocationId,
call: &'life2 CallDTO,
runner_id: Option<&'life3 RunnerId>,
) -> Pin<Box<dyn Future<Output = RustvelloResult<InvocationStatusRecord>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Register an invocation with a pre-existing ID and call. Read more
Source§fn increment_invocation_retries<'life0, 'life1, 'async_trait>(
&'life0 self,
invocation_id: &'life1 InvocationId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<u32>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn increment_invocation_retries<'life0, 'life1, 'async_trait>(
&'life0 self,
invocation_id: &'life1 InvocationId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<u32>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Increment the retry counter for an invocation. Returns the new count.
Source§fn get_invocation_retries<'life0, 'life1, 'async_trait>(
&'life0 self,
invocation_id: &'life1 InvocationId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<u32>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_invocation_retries<'life0, 'life1, 'async_trait>(
&'life0 self,
invocation_id: &'life1 InvocationId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<u32>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get the current retry count for an invocation.
Source§fn remove_invocation<'life0, 'life1, 'async_trait>(
&'life0 self,
invocation_id: &'life1 InvocationId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn remove_invocation<'life0, 'life1, 'async_trait>(
&'life0 self,
invocation_id: &'life1 InvocationId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Remove an invocation from all indexes (status, task, call, retries, CC).
Used during auto-purge of terminal invocations.
Source§fn get_invocation_status<'life0, 'life1, 'async_trait>(
&'life0 self,
invocation_id: &'life1 InvocationId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<InvocationStatusRecord>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_invocation_status<'life0, 'life1, 'async_trait>(
&'life0 self,
invocation_id: &'life1 InvocationId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<InvocationStatusRecord>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get the current status of an invocation.
Source§fn set_invocation_status<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
invocation_id: &'life1 InvocationId,
status: InvocationStatus,
runner_id: Option<&'life2 RunnerId>,
) -> Pin<Box<dyn Future<Output = RustvelloResult<InvocationStatusRecord>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn set_invocation_status<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
invocation_id: &'life1 InvocationId,
status: InvocationStatus,
runner_id: Option<&'life2 RunnerId>,
) -> Pin<Box<dyn Future<Output = RustvelloResult<InvocationStatusRecord>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Atomically transition an invocation to a new status.
Validates the transition against the state machine.
runner_id is required for Running/RunningRecovery transitions.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,
Remove all orchestrator data (invocations, statuses, CC index, etc.). Read more
Source§fn schedule_auto_purge<'life0, 'life1, 'async_trait>(
&'life0 self,
invocation_id: &'life1 InvocationId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn schedule_auto_purge<'life0, 'life1, 'async_trait>(
&'life0 self,
invocation_id: &'life1 InvocationId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Mark an invocation for future auto-purge. Read more
Source§fn run_auto_purge<'life0, 'async_trait>(
&'life0 self,
max_age_secs: u64,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<InvocationId>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn run_auto_purge<'life0, 'async_trait>(
&'life0 self,
max_age_secs: u64,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<InvocationId>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Execute scheduled auto-purges older than
max_age_secs. Read moreSource§fn backend_name(&self) -> &'static str
fn backend_name(&self) -> &'static str
Human-readable name of the orchestrator backend (e.g. “In-Memory”, “SQLite”).
Auto Trait Implementations§
impl Freeze for SqliteOrchestrator
impl RefUnwindSafe for SqliteOrchestrator
impl Send for SqliteOrchestrator
impl Sync for SqliteOrchestrator
impl Unpin for SqliteOrchestrator
impl UnsafeUnpin for SqliteOrchestrator
impl UnwindSafe for SqliteOrchestrator
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