step method
Implementation
Future step() async {
int serviceId = config.getRequired<int>('service_id');
DateTime now = DateTime.now();
for (var key in allJobs.allClassNames) {
if (!lastStarts.containsKey(key)) {
lastStarts[key] = await db.fetchOne<DateTime>('SELECT last_run FROM run_jobs WHERE app_id = ? AND job =?', [serviceId, key]);
}
//TODO @Interval annotation
if ((lastStarts[key] == null) || (now.difference(lastStarts[key]!).inMinutes >= createJob(key, this).minuteInterval)) {
lastStarts[key] = now;
await runJob(key);
}
}
await db.disconnect();
}