getSchedule method

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

An ordered list of timestamp generated by this trigger for a given period. This is mainly used for persistently scheduling a list of AppTasks from triggers that implement the Schedulable interface.

Implementation

@override
List<DateTime> getSchedule(DateTime from, DateTime to, [int max = 100]) {
  var cronIterator = Cron().parse(
      configuration!.cronExpression,
      Settings().timezone,
      tz.TZDateTime.from(from, tz.getLocation(Settings().timezone)));
  final List<DateTime> schedule = [];
  int count = 0;

  while (cronIterator.next().isBefore(to) && count < max) {
    schedule.add(cronIterator.current());
    count++;
  }
  return schedule;
}