pub struct SqliteTriggerStore { /* private fields */ }Expand description
SQLite-backed trigger store implementation.
Implementations§
Trait Implementations§
Source§impl TriggerStore for SqliteTriggerStore
impl TriggerStore for SqliteTriggerStore
Source§fn register_condition<'life0, 'life1, 'async_trait>(
&'life0 self,
condition: &'life1 TriggerCondition,
) -> Pin<Box<dyn Future<Output = RustvelloResult<ConditionId>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn register_condition<'life0, 'life1, 'async_trait>(
&'life0 self,
condition: &'life1 TriggerCondition,
) -> Pin<Box<dyn Future<Output = RustvelloResult<ConditionId>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Register a condition and return its deterministic ID.
Source§fn get_condition<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ConditionId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Option<TriggerCondition>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_condition<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 ConditionId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Option<TriggerCondition>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get a condition by ID.
Source§fn get_conditions_for_task<'life0, 'life1, 'async_trait>(
&'life0 self,
task_id: &'life1 TaskId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<(ConditionId, TriggerCondition)>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_conditions_for_task<'life0, 'life1, 'async_trait>(
&'life0 self,
task_id: &'life1 TaskId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<(ConditionId, TriggerCondition)>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get all conditions that watch a specific task.
Source§fn get_cron_conditions<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<(ConditionId, TriggerCondition)>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_cron_conditions<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<(ConditionId, TriggerCondition)>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get all cron conditions.
Source§fn get_all_conditions<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<(ConditionId, TriggerCondition)>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_all_conditions<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<(ConditionId, TriggerCondition)>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get all registered conditions regardless of type. Read more
Source§fn get_event_conditions<'life0, 'life1, 'async_trait>(
&'life0 self,
event_code: &'life1 str,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<(ConditionId, TriggerCondition)>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_event_conditions<'life0, 'life1, 'async_trait>(
&'life0 self,
event_code: &'life1 str,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<(ConditionId, TriggerCondition)>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get all event conditions matching an event code.
Source§fn register_trigger<'life0, 'life1, 'async_trait>(
&'life0 self,
trigger: &'life1 TriggerDefinitionDTO,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn register_trigger<'life0, 'life1, 'async_trait>(
&'life0 self,
trigger: &'life1 TriggerDefinitionDTO,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Register a trigger definition.
Source§fn get_trigger<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 TriggerDefinitionId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Option<TriggerDefinitionDTO>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_trigger<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 TriggerDefinitionId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Option<TriggerDefinitionDTO>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get a trigger definition by ID.
Source§fn get_triggers_for_condition<'life0, 'life1, 'async_trait>(
&'life0 self,
cond_id: &'life1 ConditionId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<TriggerDefinitionDTO>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_triggers_for_condition<'life0, 'life1, 'async_trait>(
&'life0 self,
cond_id: &'life1 ConditionId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<TriggerDefinitionDTO>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get all trigger definitions that reference a given condition.
Source§fn remove_triggers_for_task<'life0, 'life1, 'async_trait>(
&'life0 self,
task_id: &'life1 TaskId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<u32>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn remove_triggers_for_task<'life0, 'life1, 'async_trait>(
&'life0 self,
task_id: &'life1 TaskId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<u32>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Remove all trigger definitions for a task.
Source§fn record_valid_condition<'life0, 'life1, 'async_trait>(
&'life0 self,
vc: &'life1 ValidCondition,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn record_valid_condition<'life0, 'life1, 'async_trait>(
&'life0 self,
vc: &'life1 ValidCondition,
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Record a condition that has been evaluated and found satisfied.
Source§fn get_valid_conditions<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<ValidCondition>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_valid_conditions<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Vec<ValidCondition>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get all pending valid conditions.
Source§fn clear_valid_conditions<'life0, 'life1, 'async_trait>(
&'life0 self,
ids: &'life1 [String],
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn clear_valid_conditions<'life0, 'life1, 'async_trait>(
&'life0 self,
ids: &'life1 [String],
) -> Pin<Box<dyn Future<Output = RustvelloResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Clear valid conditions by their IDs (after processing).
Source§fn get_last_cron_execution<'life0, 'life1, 'async_trait>(
&'life0 self,
cond_id: &'life1 ConditionId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Option<DateTime<Utc>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_last_cron_execution<'life0, 'life1, 'async_trait>(
&'life0 self,
cond_id: &'life1 ConditionId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<Option<DateTime<Utc>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get the last cron execution time for a condition.
Source§fn store_cron_execution<'life0, 'life1, 'async_trait>(
&'life0 self,
cond_id: &'life1 ConditionId,
time: DateTime<Utc>,
expected_last: Option<DateTime<Utc>>,
) -> Pin<Box<dyn Future<Output = RustvelloResult<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn store_cron_execution<'life0, 'life1, 'async_trait>(
&'life0 self,
cond_id: &'life1 ConditionId,
time: DateTime<Utc>,
expected_last: Option<DateTime<Utc>>,
) -> Pin<Box<dyn Future<Output = RustvelloResult<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Store a cron execution time with optimistic locking.
Returns
true if the store succeeded (expected_last matched).Source§fn claim_trigger_run<'life0, 'life1, 'async_trait>(
&'life0 self,
run_id: &'life1 TriggerRunId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn claim_trigger_run<'life0, 'life1, 'async_trait>(
&'life0 self,
run_id: &'life1 TriggerRunId,
) -> Pin<Box<dyn Future<Output = RustvelloResult<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Attempt to claim a trigger run. Returns
true if this is first claim.Auto Trait Implementations§
impl Freeze for SqliteTriggerStore
impl RefUnwindSafe for SqliteTriggerStore
impl Send for SqliteTriggerStore
impl Sync for SqliteTriggerStore
impl Unpin for SqliteTriggerStore
impl UnsafeUnpin for SqliteTriggerStore
impl UnwindSafe for SqliteTriggerStore
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