function job_scheduler_cron in Job Scheduler 8.2
Same name and namespace in other branches
- 8.3 job_scheduler.module \job_scheduler_cron()
- 6 job_scheduler.module \job_scheduler_cron()
- 7.2 job_scheduler.module \job_scheduler_cron()
- 7 job_scheduler.module \job_scheduler_cron()
Implements hook_cron().
File
- ./
job_scheduler.module, line 63 - Job scheduler module.
Code
function job_scheduler_cron() {
try {
$scheduler = \Drupal::service('job_scheduler.manager');
// Reschedule all jobs if requested.
$config = \Drupal::service('config.factory')
->getEditable('job_scheduler.settings');
if ($config
->get('rebuild_all')) {
$scheduler
->rebuildAll();
$config
->set('rebuild_all', FALSE)
->save();
// TODO: Remove?
return;
}
$results = $scheduler
->perform();
// If any jobs were processed, log how much time we spent processing.
if ($results['total'] || $results['failed']) {
$date_formatter = \Drupal::service('date.formatter');
$logger = \Drupal::logger('job_scheduler');
$logger
->info(t('Finished processing scheduled jobs (:time, :total total, :failed failed).', [
':time' => $date_formatter
->formatInterval(time() - $results['start']),
':total' => $results['total'],
':failed' => $results['failed'],
]));
}
} catch (Exception $e) {
watchdog_exception('job_scheduler', $e);
}
}