Queue

Struct Queue 

Source
pub struct Queue { /* private fields */ }
Expand description

The queue itself, which consists of the SQLite connection and tasks to monitor running jobs.

Implementations§

Source§

impl Queue

Source

pub async fn add_job(&self, job: Job) -> Result<Uuid>

Submit a job to the queue

Source

pub async fn add_jobs(&self, jobs: Vec<Job>) -> Result<Vec<Uuid>>

Submit multiple jobs to the queue

Source

pub async fn update_job(&self, job: JobUpdate) -> Result<()>

Update some aspects of a job. Jobs can not be updated while running or after they have finished.

Source

pub async fn cancel_job(&self, job_id: Uuid) -> Result<()>

Cancel a job. Jobs can not be cancelled while are running or after they have finished.

Source§

impl Queue

Source

pub async fn get_job_status(&self, external_id: Uuid) -> Result<JobStatus>

Return information about a job

Source

pub async fn get_jobs_by_name( &self, name: String, limit: usize, ) -> Result<Vec<JobStatus>>

Get jobs by their name, ordered by the most recently added.

Source

pub async fn num_active_jobs(&self) -> Result<NumActiveJobs>

Return counts about the number of jobs running and waiting to run.

Source§

impl Queue

Source

pub async fn new(file: &Path) -> Result<Queue>

Open or create a Queue database at the given path.

Source

pub fn builder(path: &Path) -> QueueOptions<'_>

Create a builder object for a Queue

Source

pub async fn with_options(options: QueueOptions<'_>) -> Result<Queue>

Open or create a Queue database with the given [LocalQueueOptions].

Source

pub async fn close(&self, timeout: Duration) -> Result<()>

Stop the queue, and wait for existing workers to finish.

Source§

impl Queue

Source

pub async fn add_recurring_job( &self, id: String, schedule: RecurringJobSchedule, job: Job, run_immediately: bool, ) -> Result<(), Error>

Add a new recurring job to the queue, returning an error if a job with this external ID already exists.

Source

pub async fn update_recurring_job( &self, id: String, schedule: RecurringJobSchedule, job: Job, ) -> Result<(), Error>

Update a recurring job. Returns an error if the job does not exist.

Source

pub async fn upsert_recurring_job( &self, id: String, schedule: RecurringJobSchedule, job: Job, run_immediately_on_insert: bool, ) -> Result<(), Error>

Add a new recurring job, or update an existing one.

Source

pub async fn delete_recurring_job(&self, id: String) -> Result<(), Error>

Remove a recurring job and unschedule any scheduled jobs for it.

Source

pub async fn get_recurring_job_info( &self, id: String, ) -> Result<RecurringJobInfo, Error>

Return information about a recurring job and its latest execution

Source

pub async fn list_recurring_jobs_with_prefix( &self, prefix: &str, ) -> Result<Vec<String>, Error>

Return the IDs of all recurring jobs with the given prefix

Trait Implementations§

Source§

impl Drop for Queue

Source§

fn drop(&mut self)

Try to close the queue cleanly as it’s dropped.

Auto Trait Implementations§

§

impl !Freeze for Queue

§

impl !RefUnwindSafe for Queue

§

impl Send for Queue

§

impl Sync for Queue

§

impl Unpin for Queue

§

impl !UnwindSafe for Queue

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more