You are here

function ultimate_cron_requirements in Ultimate Cron 8.2

Same name and namespace in other branches
  1. 8 ultimate_cron.install \ultimate_cron_requirements()
  2. 6 ultimate_cron.install \ultimate_cron_requirements()
  3. 7.2 ultimate_cron.install \ultimate_cron_requirements()
  4. 7 ultimate_cron.install \ultimate_cron_requirements()

Implements hook_requirements().

File

./ultimate_cron.install, line 163
Installation file for Ultimate Cron

Code

function ultimate_cron_requirements($phase) {
  $requirements = array();
  switch ($phase) {
    case 'runtime':
      $requirements['cron_jobs']['title'] = 'Ultimate Cron';
      $requirements['cron_jobs']['severity'] = REQUIREMENT_OK;

      // Check if any jobs are behind.
      $jobs_behind = 0;
      $jobs = CronJob::loadMultiple();
      foreach ($jobs as $job) {
        if ($job
          ->isBehindSchedule()) {
          $jobs_behind++;
        }
      }
      if ($jobs_behind) {
        $requirements['cron_jobs']['severity'] = REQUIREMENT_WARNING;
        $requirements['cron_jobs']['value'] = \Drupal::translation()
          ->formatPlural($jobs_behind, '@count job is behind schedule', '@count jobs are behind schedule');
        $requirements['cron_jobs']['description'] = [
          '#markup' => t('Some jobs are behind their schedule. Please check if <a href=":system_cron_url">Cron</a> is running properly.', [
            ':system_cron_url' => Url::fromRoute('system.cron', [
              'key' => \Drupal::state()
                ->get('system.cron_key'),
            ])
              ->toString(),
          ]),
        ];
      }
      else {
        $requirements['cron_jobs']['value'] = t('Cron is running properly.');
      }
  }
  return $requirements;
}