pub struct SqliteQueue { /* private fields */ }Expand description
An implementation of the Queue backed by SQlite
Implementations§
Source§impl SqliteQueue
impl SqliteQueue
pub fn with_pool(pool: SqlitePool) -> Self
Trait Implementations§
Source§impl Clone for SqliteQueue
impl Clone for SqliteQueue
Source§fn clone(&self) -> SqliteQueue
fn clone(&self) -> SqliteQueue
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Queue for SqliteQueue
impl Queue for SqliteQueue
type JobHandle = SqliteJobHandle
Source§fn schedule_at<'life0, 'async_trait, J>(
&'life0 self,
payload: J::Payload,
scheduled_at: DateTime,
priority: i8,
) -> Pin<Box<dyn Future<Output = Result<Xid, QueueError>> + Send + 'async_trait>>where
J: JobProcessor + 'static + 'async_trait,
J::Payload: Encode,
Self: 'async_trait,
'life0: 'async_trait,
fn schedule_at<'life0, 'async_trait, J>(
&'life0 self,
payload: J::Payload,
scheduled_at: DateTime,
priority: i8,
) -> Pin<Box<dyn Future<Output = Result<Xid, QueueError>> + Send + 'async_trait>>where
J: JobProcessor + 'static + 'async_trait,
J::Payload: Encode,
Self: 'async_trait,
'life0: 'async_trait,
Schedule a job to run at the future time.
Source§fn poll_next_with_instant<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
job_types: &'life1 [&'life2 str],
now: DateTime,
) -> Pin<Box<dyn Future<Output = Result<Option<SqliteJobHandle>, QueueError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn poll_next_with_instant<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
job_types: &'life1 [&'life2 str],
now: DateTime,
) -> Pin<Box<dyn Future<Output = Result<Option<SqliteJobHandle>, QueueError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Pool queue, implementation should not wait for next job, if there nothing return
Ok(None).Source§fn cancel_job<'life0, 'async_trait>(
&'life0 self,
job_id: Xid,
) -> Pin<Box<dyn Future<Output = Result<(), QueueError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn cancel_job<'life0, 'async_trait>(
&'life0 self,
job_id: Xid,
) -> Pin<Box<dyn Future<Output = Result<(), QueueError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Cancel job that has been scheduled. Right now this will only cancel if the job hasn’t started yet.
Source§fn unschedule_job<'life0, 'async_trait, J>(
&'life0 self,
job_id: Xid,
) -> Pin<Box<dyn Future<Output = Result<J::Payload, QueueError>> + Send + 'async_trait>>where
J: JobProcessor + 'static + 'async_trait,
J::Payload: Decode,
Self: 'async_trait,
'life0: 'async_trait,
fn unschedule_job<'life0, 'async_trait, J>(
&'life0 self,
job_id: Xid,
) -> Pin<Box<dyn Future<Output = Result<J::Payload, QueueError>> + Send + 'async_trait>>where
J: JobProcessor + 'static + 'async_trait,
J::Payload: Decode,
Self: 'async_trait,
'life0: 'async_trait,
The same as
cancel_job, but returns payload of canceled job.
If deserialization fails, then job won’t be cancelled.Source§fn schedule<'life0, 'async_trait, J>(
&'life0 self,
payload: <J as JobProcessor>::Payload,
priority: i8,
) -> Pin<Box<dyn Future<Output = Result<Id, QueueError>> + Send + 'async_trait>>where
'life0: 'async_trait,
J: JobProcessor + 'static + 'async_trait,
<J as JobProcessor>::Payload: Encode,
Self: 'async_trait,
fn schedule<'life0, 'async_trait, J>(
&'life0 self,
payload: <J as JobProcessor>::Payload,
priority: i8,
) -> Pin<Box<dyn Future<Output = Result<Id, QueueError>> + Send + 'async_trait>>where
'life0: 'async_trait,
J: JobProcessor + 'static + 'async_trait,
<J as JobProcessor>::Payload: Encode,
Self: 'async_trait,
Schedule a job to run next. Depending on queue backlog this may start running later than you expect.
Source§fn schedule_in<'life0, 'async_trait, J>(
&'life0 self,
payload: <J as JobProcessor>::Payload,
scheduled_in: TimeDelta,
priority: i8,
) -> Pin<Box<dyn Future<Output = Result<Id, QueueError>> + Send + 'async_trait>>where
'life0: 'async_trait,
J: JobProcessor + 'static + 'async_trait,
<J as JobProcessor>::Payload: Encode,
Self: 'async_trait,
fn schedule_in<'life0, 'async_trait, J>(
&'life0 self,
payload: <J as JobProcessor>::Payload,
scheduled_in: TimeDelta,
priority: i8,
) -> Pin<Box<dyn Future<Output = Result<Id, QueueError>> + Send + 'async_trait>>where
'life0: 'async_trait,
J: JobProcessor + 'static + 'async_trait,
<J as JobProcessor>::Payload: Encode,
Self: 'async_trait,
Schedule a job to run at the future time relative to now.
Source§fn poll_next<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
job_types: &'life1 [&'life2 str],
) -> Pin<Box<dyn Future<Output = Result<Option<Self::JobHandle>, QueueError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn poll_next<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
job_types: &'life1 [&'life2 str],
) -> Pin<Box<dyn Future<Output = Result<Option<Self::JobHandle>, QueueError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Pool queue, implementation should not wait for next job, if there nothing return
Ok(None).Source§fn next<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
job_types: &'life1 [&'life2 str],
interval: TimeDelta,
) -> Pin<Box<dyn Future<Output = Result<Self::JobHandle, QueueError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn next<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
job_types: &'life1 [&'life2 str],
interval: TimeDelta,
) -> Pin<Box<dyn Future<Output = Result<Self::JobHandle, QueueError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Await next job. Default implementation polls the queue with defined interval until there is something.
Auto Trait Implementations§
impl Freeze for SqliteQueue
impl !RefUnwindSafe for SqliteQueue
impl Send for SqliteQueue
impl Sync for SqliteQueue
impl Unpin for SqliteQueue
impl !UnwindSafe for SqliteQueue
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more