DVScheduler constructor

DVScheduler({
  1. DateTime clock()?,
  2. DVScheduleLease? lease,
  3. void onFailure(
    1. DVScheduledFailure failure
    )?,
})

lease, when given, is claimed for each occurrence before it runs, so processes sharing its store run each occurrence once between them.

onFailure is told about each task that throws, as it happens. Without it a failure is kept in failures, which a served process never reads.

Implementation

DVScheduler({DateTime Function()? clock, this.lease, this.onFailure})
    : _clock = clock ?? DateTime.now {
  _startedAt = _clock();
}