pub trait OrchestratorQuery: OrchestratorStatus {
// Required methods
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_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_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 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 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_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_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;
// Provided method
fn filter_by_status<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
invocation_ids: &'life1 [InvocationId],
statuses: &'life2 [InvocationStatus],
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<InvocationId>>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait { ... }
}Expand description
Query operations for finding and filtering invocations.
Required Methods§
Sourcefn 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.
Sourcefn 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.
Sourcefn 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.
Sourcefn 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.
Mirrors pynenc’s BaseOrchestrator.count_invocations.
Sourcefn 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.
Mirrors pynenc’s BaseOrchestrator.get_invocation_ids_paginated.
Sourcefn 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.
Returns up to max_num invocations that have waiters but are themselves
in an available-for-run status.
Mirrors pynenc’s BaseBlockingControl.get_blocking_invocations.
Sourcefn 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.
Used by route_call() / submit_with_cc() to implement registration
concurrency control — deduplicating invocations with the same key args
that are still in a non-terminal status.
Mirrors pynenc’s BaseOrchestrator.get_existing_invocations.
cc_args: WhenSome, only return invocations whose CC key matches. WhenNone, return all invocations for the task (task-level CC).statuses: Only return invocations in one of these statuses.
Provided Methods§
Sourcefn filter_by_status<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
invocation_ids: &'life1 [InvocationId],
statuses: &'life2 [InvocationStatus],
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<InvocationId>>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: '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 = RustvelloResult<Vec<InvocationId>>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Filter a set of invocation IDs by status.
Returns only the invocation IDs whose current status matches any status in the filter.
Mirrors pynenc’s BaseOrchestrator.filter_by_status.