Skip to main content

TaskService

Trait TaskService 

Source
pub trait TaskService: Send + Sync {
Show 15 methods // Required methods fn open_session<'a>( &'a self, scope: &'a Scope, queue: &'a str, concurrency: u32, ) -> ContractFuture<'a, WorkerSession>; fn extend_session<'a>( &'a self, worker_session_id: &'a str, ) -> ContractFuture<'a, WorkerSession>; fn submit<'a>( &'a self, command: &'a SubmitCommand, ) -> ContractFuture<'a, TaskSnapshot>; fn list_tasks<'a>( &'a self, scope: &'a Scope, query: &'a TaskListQuery, ) -> ContractFuture<'a, TaskPage>; fn status<'a>( &'a self, scope: &'a Scope, task_id: &'a str, ) -> ContractFuture<'a, TaskStatus>; fn result<'a>( &'a self, scope: &'a Scope, task_id: &'a str, ) -> ContractFuture<'a, TaskResult>; fn inspect<'a>( &'a self, scope: &'a Scope, task_id: &'a str, ) -> ContractFuture<'a, TaskSnapshot>; fn inspect_attempt<'a>( &'a self, scope: &'a Scope, task_id: &'a str, attempt_id: &'a str, ) -> ContractFuture<'a, AttemptSnapshot>; fn history<'a>( &'a self, scope: &'a Scope, task_id: &'a str, after_sequence: u64, ) -> ContractFuture<'a, Vec<RecordedHistoryEvent>>; fn acquire<'a>( &'a self, command: &'a AcquireCommand, options: AcquireOptions, ) -> ContractFuture<'a, AcquireReply>; fn renew<'a>( &'a self, command: &'a RenewCommand, ) -> ContractFuture<'a, Authority>; fn settle<'a>( &'a self, command: &'a SettleCommand, ) -> ContractFuture<'a, SettleReply>; fn confirm_quiescence<'a>( &'a self, owner: &'a LeaseOwner, ) -> ContractFuture<'a, TaskState>; fn cancel<'a>( &'a self, scope: &'a Scope, task_id: &'a str, ) -> ContractFuture<'a, TaskState>; // Provided method fn claim_dispatch<'a>( &'a self, _command: &'a ClaimCommand, ) -> ContractFuture<'a, ClaimReply> { ... }
}
Expand description

Service boundary implemented by future transport adapters. A successful mutation reply is permitted only after durable transactional acceptance.

Required Methods§

Source

fn open_session<'a>( &'a self, scope: &'a Scope, queue: &'a str, concurrency: u32, ) -> ContractFuture<'a, WorkerSession>

Source

fn extend_session<'a>( &'a self, worker_session_id: &'a str, ) -> ContractFuture<'a, WorkerSession>

Source

fn submit<'a>( &'a self, command: &'a SubmitCommand, ) -> ContractFuture<'a, TaskSnapshot>

Source

fn list_tasks<'a>( &'a self, scope: &'a Scope, query: &'a TaskListQuery, ) -> ContractFuture<'a, TaskPage>

Read one bounded page of matching committed task statuses in descending submission-time/task-ID order. Each page has its own read snapshot.

Source

fn status<'a>( &'a self, scope: &'a Scope, task_id: &'a str, ) -> ContractFuture<'a, TaskStatus>

Read compact scheduling metadata without application payloads.

Source

fn result<'a>( &'a self, scope: &'a Scope, task_id: &'a str, ) -> ContractFuture<'a, TaskResult>

Read task metadata and its logical outcome from one consistent snapshot.

Source

fn inspect<'a>( &'a self, scope: &'a Scope, task_id: &'a str, ) -> ContractFuture<'a, TaskSnapshot>

Source

fn inspect_attempt<'a>( &'a self, scope: &'a Scope, task_id: &'a str, attempt_id: &'a str, ) -> ContractFuture<'a, AttemptSnapshot>

Source

fn history<'a>( &'a self, scope: &'a Scope, task_id: &'a str, after_sequence: u64, ) -> ContractFuture<'a, Vec<RecordedHistoryEvent>>

Return at most 100 ordered records after the supplied sequence. Large application outcomes are fetched through result or inspect_attempt, not history.

Source

fn acquire<'a>( &'a self, command: &'a AcquireCommand, options: AcquireOptions, ) -> ContractFuture<'a, AcquireReply>

Source

fn renew<'a>( &'a self, command: &'a RenewCommand, ) -> ContractFuture<'a, Authority>

Source

fn settle<'a>( &'a self, command: &'a SettleCommand, ) -> ContractFuture<'a, SettleReply>

Source

fn confirm_quiescence<'a>( &'a self, owner: &'a LeaseOwner, ) -> ContractFuture<'a, TaskState>

Source

fn cancel<'a>( &'a self, scope: &'a Scope, task_id: &'a str, ) -> ContractFuture<'a, TaskState>

Provided Methods§

Source

fn claim_dispatch<'a>( &'a self, _command: &'a ClaimCommand, ) -> ContractFuture<'a, ClaimReply>

Claim one exact external dispatch. Successful replies follow durable acceptance and bind the complete command. Unsupported implementations reject explicitly; they must never fall back to an unrestricted queue scan.

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§