docs: timers concept page#75
Conversation
Review: TimersMust fix
Suggestions
Verified
|
- Fix rescheduling description: recurring timers are rescheduled at dispatch time using the originally-scheduled fire time as base, not at callback completion time (verified in cdk-rs global_timer.rs) - Add set_timer_interval vs set_timer_interval_serial comparison with skip behavior for serial timers when previous invocation is still running - Add cycles check failure mode to Scheduling guarantees section - Update heartbeats section: remove misleading sub-second precision claim since both timers and heartbeats operate at ~1s block rate - Update frontmatter description to reflect full page scope
|
<!-- feedback-addressed --> Changes appliedMust fix:
Suggestions applied:
Items skippedNone — all four feedback items were verified correct against |
Summary
ic0.global_timer_set()system API,canister_global_timerhandleric-cdk-timersin Rust,mo:core/Timerin Motoko) build multiple/periodic timers on top via self-canister-callsTimerIdcancellation, scheduling guarantees (best-effort, not real-time)postupgradeSync recommendation
informed by dfinity/portal — periodic-tasks-timers.mdx; dfinity/cdk-rs — ic-cdk-timers/src/lib.rs; caffeinelabs/motoko — doc/md/core/Timer.md