Skip to main content

TriggerEngine

Trait TriggerEngine 

Source
pub trait TriggerEngine: Send + Sync {
    // Required methods
    fn kind(&self) -> TriggerEngineKind;
    fn next_after(
        &self,
        trigger: &ScheduleTrigger,
        timezone: Option<&str>,
        after: DateTime<Utc>,
        window: &ScheduleWindow,
    ) -> Result<Option<DateTime<Utc>>, TriggerComputationError>;

    // Provided method
    fn due_between(
        &self,
        trigger: &ScheduleTrigger,
        timezone: Option<&str>,
        from: DateTime<Utc>,
        to: DateTime<Utc>,
        window: &ScheduleWindow,
        limit: usize,
    ) -> Result<Vec<DateTime<Utc>>, TriggerComputationError> { ... }
}
Expand description

Interface for computing schedule occurrences.

Bamboo owns schedule state, policies, and execution. Concrete trigger engines only answer recurrence questions and can be swapped independently.

Required Methods§

Provided Methods§

Source

fn due_between( &self, trigger: &ScheduleTrigger, timezone: Option<&str>, from: DateTime<Utc>, to: DateTime<Utc>, window: &ScheduleWindow, limit: usize, ) -> Result<Vec<DateTime<Utc>>, TriggerComputationError>

Implementors§