You are here

function job_scheduler_cron in Job Scheduler 8.3

Same name and namespace in other branches
  1. 8.2 job_scheduler.module \job_scheduler_cron()
  2. 6 job_scheduler.module \job_scheduler_cron()
  3. 7.2 job_scheduler.module \job_scheduler_cron()
  4. 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 {
    $config = \Drupal::config('job_scheduler.settings');
    $scheduler = \Drupal::service('job_scheduler.manager');
    $results = $scheduler
      ->perform(NULL, $config
      ->get('limit'), $config
      ->get('time'));

    // If any jobs were processed, log how much time we spent processing.
    if ($config
      ->get('logging') && ($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);
  }
}