Skip to main content

ExplorerRepository

Trait ExplorerRepository 

Source
pub trait ExplorerRepository: Send + Sync {
    // Required methods
    fn identity_ceiling<'a>(
        &'a self,
        query: &'a ExplorerQuery,
    ) -> BoxFuture<'a, Result<u64, ExplorerError>>;
    fn job_names<'a>(
        &'a self,
        window: &'a QueryWindow,
    ) -> BoxFuture<'a, Result<Vec<JobName>, ExplorerError>>;
    fn instances<'a>(
        &'a self,
        job_name: &'a JobName,
        window: &'a QueryWindow,
    ) -> BoxFuture<'a, Result<Vec<JobInstanceProjection>, ExplorerError>>;
    fn executions<'a>(
        &'a self,
        job_instance_id: JobInstanceId,
        window: &'a QueryWindow,
    ) -> BoxFuture<'a, Result<Vec<JobExecutionProjection>, ExplorerError>>;
    fn execution(
        &self,
        job_execution_id: JobExecutionId,
    ) -> BoxFuture<'_, Result<Option<JobExecutionProjection>, ExplorerError>>;
    fn step_executions<'a>(
        &'a self,
        job_execution_id: JobExecutionId,
        window: &'a QueryWindow,
    ) -> BoxFuture<'a, Result<Vec<StepExecutionProjection>, ExplorerError>>;
    fn unresolved_executions<'a>(
        &'a self,
        minimum_age: Duration,
        window: &'a QueryWindow,
    ) -> BoxFuture<'a, Result<Vec<JobExecutionProjection>, ExplorerError>>;
    fn recovery_decisions<'a>(
        &'a self,
        job_execution_id: JobExecutionId,
        window: &'a QueryWindow,
    ) -> BoxFuture<'a, Result<Vec<RecoveryDecision>, ExplorerError>>;
    fn flow_decisions<'a>(
        &'a self,
        job_execution_id: JobExecutionId,
        window: &'a QueryWindow,
    ) -> BoxFuture<'a, Result<Vec<FlowDecision>, ExplorerError>>;
    fn step_partitions<'a>(
        &'a self,
        step_execution_id: StepExecutionId,
        window: &'a QueryWindow,
    ) -> BoxFuture<'a, Result<Vec<StepPartitionProjection>, ExplorerError>>;
    fn operator_requests<'a>(
        &'a self,
        job_execution_id: JobExecutionId,
        window: &'a QueryWindow,
    ) -> BoxFuture<'a, Result<Vec<OperatorRecord>, ExplorerError>>;
}
Expand description

A bounded read port one metadata adapter implements.

Every method executes one statement under the adapter’s ordinary read committed isolation, returns at most QueryWindow::limit rows, and takes no lock. Cross-page snapshot isolation is not provided.

Required Methods§

Source

fn identity_ceiling<'a>( &'a self, query: &'a ExplorerQuery, ) -> BoxFuture<'a, Result<u64, ExplorerError>>

Captures the exclusive identity ceiling for one traversal.

Source

fn job_names<'a>( &'a self, window: &'a QueryWindow, ) -> BoxFuture<'a, Result<Vec<JobName>, ExplorerError>>

Reads registered job names in byte order.

Source

fn instances<'a>( &'a self, job_name: &'a JobName, window: &'a QueryWindow, ) -> BoxFuture<'a, Result<Vec<JobInstanceProjection>, ExplorerError>>

Reads instances of one job name, newest identity first.

Source

fn executions<'a>( &'a self, job_instance_id: JobInstanceId, window: &'a QueryWindow, ) -> BoxFuture<'a, Result<Vec<JobExecutionProjection>, ExplorerError>>

Reads executions of one instance, newest attempt first.

Source

fn execution( &self, job_execution_id: JobExecutionId, ) -> BoxFuture<'_, Result<Option<JobExecutionProjection>, ExplorerError>>

Reads one execution projection.

Source

fn step_executions<'a>( &'a self, job_execution_id: JobExecutionId, window: &'a QueryWindow, ) -> BoxFuture<'a, Result<Vec<StepExecutionProjection>, ExplorerError>>

Reads step executions of one job execution.

Source

fn unresolved_executions<'a>( &'a self, minimum_age: Duration, window: &'a QueryWindow, ) -> BoxFuture<'a, Result<Vec<JobExecutionProjection>, ExplorerError>>

Reads non-terminal executions older than minimum_age.

Source

fn recovery_decisions<'a>( &'a self, job_execution_id: JobExecutionId, window: &'a QueryWindow, ) -> BoxFuture<'a, Result<Vec<RecoveryDecision>, ExplorerError>>

Reads recovery decisions of one job execution.

Source

fn flow_decisions<'a>( &'a self, job_execution_id: JobExecutionId, window: &'a QueryWindow, ) -> BoxFuture<'a, Result<Vec<FlowDecision>, ExplorerError>>

Reads flow decisions of one job execution in sequence order.

Source

fn step_partitions<'a>( &'a self, step_execution_id: StepExecutionId, window: &'a QueryWindow, ) -> BoxFuture<'a, Result<Vec<StepPartitionProjection>, ExplorerError>>

Reads partitions of one partitioned step execution.

Source

fn operator_requests<'a>( &'a self, job_execution_id: JobExecutionId, window: &'a QueryWindow, ) -> BoxFuture<'a, Result<Vec<OperatorRecord>, ExplorerError>>

Reads audited operator requests for one job execution.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§