Skip to content

RandomRecurrentTriggerExecutor

Runs a RandomRecurrentTrigger: fires a random number of times per day.

The times are random, between startTime and endTime. A daily cron job at startTime sets up the timers for the day. If resumed after startTime, the timers for today are set up right away, unless hasBeenScheduledForToday is true.

Inheritance

Constructors

RandomRecurrentTriggerExecutor

RandomRecurrentTriggerExecutor()

Properties

endTime

TimeOfDay get endTime

hasBeenScheduledForToday

bool get hasBeenScheduledForToday

Whether the timers for today have already been set up.

Based on RandomRecurrentTrigger.lastTriggerTimestamp.

maxNumberOfTriggers

int get maxNumberOfTriggers

minNumberOfTriggers

int get minNumberOfTriggers

numberOfSampling

int get numberOfSampling

A new random number of triggers for a day. Changes on every read.

randomTime

TimeOfDay get randomTime

A new random time between startTime and endTime. Changes on every read.

samplingTimes

List<TimeOfDay> get samplingTimes

A new list of random times between startTime and endTime. Changes on every read.

startTime

TimeOfDay get startTime

todayString

String get todayString

Today's date as year-month-day, without zero padding. Used in logs.

Methods

getSchedule

List<DateTime> getSchedule(
  1. DateTime from,
  2. DateTime to, [
  3. int max = 100
])
override

Returns the times this trigger fires between from and to.

Ordered by time, except for RandomRecurrentTriggerExecutor.

max limits the number of iterations; its default depends on the implementation.

onResume

Future<bool> onResume()
override

Called by resume. Returns true if successfully resumed.

If false, the executor moves to ExecutorState.PausedButShouldBeResumed.