runJob method

Future runJob(
  1. String key
)

Implementation

Future runJob(String key) async {
  var job = createJob(key, this);
  int serviceId = config.getRequired<int>('service_id');
  job.stats = Stats(config, serviceId, 'job', job.className);
  int start = DateTime.now().millisecondsSinceEpoch;
  try {
    await job.run();
  } catch (error, stacktrace) {
    await job.logger.handleError('job.$key', error, stacktrace);
  }
  await job.db.query('INSERT INTO run_jobs SET app_id = ?, job = ? ON DUPLICATE KEY UPDATE run_count=run_count+1, last_run=NOW()', [serviceId, key]);
  int timeMs = DateTime.now().millisecondsSinceEpoch - start;
  await job.db.disconnect();
  job.stats?.saveStats(job.db.counter, timeMs);
}