Timer
Timers on the IC can be set to schedule one-off or periodic tasks using the setTimer
and recurringTimer
functions respectively.
These functions take a Duration
variant that specifies the time in either seconds or nanoseconds. Also, a callback function (the job to be performed) with type () -> async ()
is passed to the timer functions that will be called when the timer expires.
setTimer
and recurringTimer
return a TimerId
that can be used to cancel the timer before it expires. Timers are canceled with cancelTimer
.
The convention is to name the module alias after the file name it is defined in.
import Timer "mo:base/Timer";
On this page
Function setTimer
Function recurringTimer
Function cancelTimer
Type Duration
type Duration = {#seconds : Nat; #nanoseconds : Nat}
Type TimerId
type TimerId = Nat
Timer.setTimer
func setTimer(d : Duration, job : () -> async ()) : TimerId
Timer.recurringTimer
func recurringTimer(d : Duration, job : () -> async ()) : TimerId
Timer.cancelTimer
func cancelTimer : TimerId -> ()