Struct celery::beat::Scheduler

source ·
pub struct Scheduler {
    pub broker: Box<dyn Broker>,
    /* private fields */
}
Expand description

A Scheduler is in charge of executing scheduled tasks when they are due.

It is somehow similar to a future, in the sense that by itself it does nothing, and execution is driven by an “executor” (the Beat) which is in charge of calling the scheduler tick.

Internally it uses a min-heap to store tasks and efficiently retrieve the ones that are due for execution.

Fields§

§broker: Box<dyn Broker>

Implementations§

source§

impl Scheduler

source

pub fn new(broker: Box<dyn Broker>) -> Scheduler

Create a new scheduler which uses the given broker.

source

pub fn schedule_task<S>( &mut self, name: String, message_factory: Box<dyn TryCreateMessage>, queue: String, schedule: S )where S: Schedule + 'static,

Schedule the execution of a task.

source

pub fn get_scheduled_tasks(&mut self) -> &mut BinaryHeap<ScheduledTask>

Get all scheduled tasks.

source

pub async fn tick(&mut self) -> Result<SystemTime, BeatError>

Tick once. This method checks if there is a scheduled task which is due for execution and, if so, sends it to the broker. It returns the time by which tick should be called again.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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 Twhere 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> Same<T> for T

§

type Output = T

Should always be Self
source§

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

§

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 Twhere U: TryFrom<T>,

§

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

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

§

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