pub trait TaskStore:
Send
+ Sync
+ 'static {
// Required methods
fn enqueue<'a>(
&'a self,
opts: EnqueueOpts,
) -> BoxFuture<'a, Result<String, TaskError>>;
fn claim<'a>(
&'a self,
queue: &'a str,
worker: &'a str,
lease: Duration,
limit: usize,
) -> BoxFuture<'a, Result<Vec<Task>, TaskError>>;
fn heartbeat<'a>(
&'a self,
id: &'a str,
lease: Duration,
) -> BoxFuture<'a, Result<(), TaskError>>;
fn complete<'a>(
&'a self,
id: &'a str,
) -> BoxFuture<'a, Result<(), TaskError>>;
fn fail<'a>(
&'a self,
id: &'a str,
retry_at: Option<SystemTime>,
) -> BoxFuture<'a, Result<(), TaskError>>;
fn reap<'a>(
&'a self,
now: SystemTime,
) -> BoxFuture<'a, Result<u64, TaskError>>;
fn list<'a>(
&'a self,
queue: &'a str,
limit: usize,
) -> BoxFuture<'a, Result<Vec<Task>, TaskError>>;
}Required Methods§
fn enqueue<'a>( &'a self, opts: EnqueueOpts, ) -> BoxFuture<'a, Result<String, TaskError>>
fn claim<'a>( &'a self, queue: &'a str, worker: &'a str, lease: Duration, limit: usize, ) -> BoxFuture<'a, Result<Vec<Task>, TaskError>>
fn heartbeat<'a>( &'a self, id: &'a str, lease: Duration, ) -> BoxFuture<'a, Result<(), TaskError>>
fn complete<'a>(&'a self, id: &'a str) -> BoxFuture<'a, Result<(), TaskError>>
fn fail<'a>( &'a self, id: &'a str, retry_at: Option<SystemTime>, ) -> BoxFuture<'a, Result<(), TaskError>>
fn reap<'a>(&'a self, now: SystemTime) -> BoxFuture<'a, Result<u64, TaskError>>
fn list<'a>( &'a self, queue: &'a str, limit: usize, ) -> BoxFuture<'a, Result<Vec<Task>, TaskError>>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".