pub struct ScheduleTicker { /* private fields */ }Expand description
Periodic task that fires DB-persisted schedules.
§Examples
use std::sync::Arc;
use std::time::Duration;
use ironflow_api::schedule_ticker::ScheduleTicker;
use ironflow_api::schedule_sync::sync_handler_schedules;
use ironflow_engine::engine::Engine;
use ironflow_core::providers::claude::ClaudeCodeProvider;
use ironflow_store::memory::InMemoryStore;
use ironflow_store::store::Store;
use tokio_util::sync::CancellationToken;
let store: Arc<dyn Store> = Arc::new(InMemoryStore::new());
let engine = Engine::new(store.clone(), Arc::new(ClaudeCodeProvider::new()));
sync_handler_schedules(&engine, store.as_ref()).await?;
let ticker = ScheduleTicker::new(store).interval(Duration::from_secs(10));
tokio::spawn(ticker.run(CancellationToken::new()));Implementations§
Source§impl ScheduleTicker
impl ScheduleTicker
Sourcepub async fn run(self, shutdown: CancellationToken)
pub async fn run(self, shutdown: CancellationToken)
Run the tick loop until shutdown is cancelled.
Store errors are logged per-schedule; the loop keeps going.
Auto Trait Implementations§
impl !RefUnwindSafe for ScheduleTicker
impl !UnwindSafe for ScheduleTicker
impl Freeze for ScheduleTicker
impl Send for ScheduleTicker
impl Sync for ScheduleTicker
impl Unpin for ScheduleTicker
impl UnsafeUnpin for ScheduleTicker
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