You are here

function ultimate_cron_nagios_get_job_info in Ultimate Cron 8.2

Same name and namespace in other branches
  1. 8 ultimate_cron.nagios.inc \ultimate_cron_nagios_get_job_info()
  2. 6 ultimate_cron.nagios.inc \ultimate_cron_nagios_get_job_info()
  3. 7 ultimate_cron.nagios.inc \ultimate_cron_nagios_get_job_info()

Get information about running jobs - currently running or failed.

@staticvar array $overview

Parameters

string $mode Which mode to get info about; 'running' or 'error':

Return value

int

2 calls to ultimate_cron_nagios_get_job_info()
ultimate_cron_failed_check in ./ultimate_cron.nagios.inc
Check number of jobs that failed last run.
ultimate_cron_running_check in ./ultimate_cron.nagios.inc
Check number of running jobs.

File

./ultimate_cron.nagios.inc, line 119

Code

function ultimate_cron_nagios_get_job_info($mode = 'running') {

  // Ensure valid mode
  if (!in_array($mode, array(
    'running',
    'error',
  ))) {
    $mode = 'running';
  }
  static $overview = array();
  if (!isset($overview[$mode])) {
    $overview[$mode] = 0;

    // Get hooks and their data
    $hooks = CronJobDiscovery::getHooks();
    $modules = array();
    foreach ($hooks as $name => $hook) {
      if (!$module || $module == $hook['module']) {
        $log = ultimate_cron_get_log($name);
        if ($hook['background_process']) {
          $overview['running']++;
        }
        $severity_type = $log['severity'] < 0 ? 'success' : ($log['severity'] >= RfcLogLevel::NOTICE ? 'info' : ($log['severity'] >= RfcLogLevel::NOTICE ? 'warning' : 'error'));
        $overview[$severity_type]++;
      }
    }
  }
  return $overview[$mode];
}