markCronTasksFired function

Future<void> markCronTasksFired(
  1. List<String> ids,
  2. int firedAt, {
  3. String? dir,
})

Stamp lastFiredAt on the given recurring tasks and write back.

Implementation

Future<void> markCronTasksFired(
  List<String> ids,
  int firedAt, {
  String? dir,
}) async {
  if (ids.isEmpty) return;
  final idSet = ids.toSet();
  final tasks = await readCronTasks(dir: dir);
  bool changed = false;
  for (final t in tasks) {
    if (idSet.contains(t.id)) {
      t.lastFiredAt = firedAt;
      changed = true;
    }
  }
  if (!changed) return;
  await writeCronTasks(tasks, dir: dir);
}