Skip to main content

Runner

Struct Runner 

Source
pub struct Runner<Context> { /* private fields */ }
Expand description

The main runner that orchestrates job processing. The core runner responsible for locking and running jobs

Implementations§

Source§

impl<Context: Clone + Send + Sync + 'static> Runner<Context>

Source

pub fn new(connection_pool: PgPool, context: Context) -> Self

Create a new runner with the given connection pool and context.

Source

pub fn register_job_type<J: BackgroundJob<Context = Context>>(self) -> Self

Register a new job type for this job runner.

Source

pub fn configure_default_queue<F>(self, f: F) -> Self
where F: FnOnce(&mut Queue<Context>) -> &Queue<Context>,

Adjust the configuration of the DEFAULT_QUEUE queue.

Source

pub fn configure_queue<F>(self, name: &str, f: F) -> Self
where F: FnOnce(&mut Queue<Context>) -> &Queue<Context>,

Adjust the configuration of a queue. If the queue does not exist, it will be created.

Source

pub fn shutdown_when_queue_empty(self) -> Self

Set the runner to shut down when the background job queue is empty.

Source

pub fn start(&self) -> RunHandle

Start the background workers.

This returns a RunningRunner which can be used to wait for the workers to shutdown.

Source

pub async fn check_for_failed_jobs(&self) -> Result<()>

Check if any jobs in the queue have failed.

This function is intended for use in tests and will return an error if any jobs have failed.

Trait Implementations§

Source§

impl<Context: Debug> Debug for Runner<Context>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<Context> !RefUnwindSafe for Runner<Context>

§

impl<Context> !UnwindSafe for Runner<Context>

§

impl<Context> Freeze for Runner<Context>
where Context: Freeze,

§

impl<Context> Send for Runner<Context>
where Context: Send,

§

impl<Context> Sync for Runner<Context>
where Context: Sync,

§

impl<Context> Unpin for Runner<Context>
where Context: Unpin,

§

impl<Context> UnsafeUnpin for Runner<Context>
where Context: UnsafeUnpin,

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> ErasedDestructor for T
where T: 'static,

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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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