/**
  * Implements hook_cron_alter().
  */
 public function cron_alter(&$jobs)
 {
     if (!variable_get($this->key . '_enabled', TRUE)) {
         unset($jobs['ultimate_cron_plugin_settings_queue_cleanup']);
         return;
     }
     $new_jobs = array();
     foreach ($jobs as $job) {
         if (!$this->isValid($job)) {
             continue;
         }
         $settings = $job->getSettings();
         if (isset($settings['settings']['queue']['name'])) {
             if ($settings['settings']['queue']['throttle']) {
                 for ($i = 2; $i <= $settings['settings']['queue']['threads']; $i++) {
                     $name = $job->name . '_' . $i;
                     $hook = $job->hook;
                     $hook['settings']['queue']['master'] = $job->name;
                     $hook['settings']['queue']['thread'] = $i;
                     $hook['name'] = $name;
                     $hook['title'] .= " (#{$i})";
                     $hook['immutable'] = TRUE;
                     $new_jobs[$name] = ultimate_cron_prepare_job($name, $hook);
                     $new_jobs[$name]->settings = $settings + $new_jobs[$name]->settings;
                     $new_jobs[$name]->title = $job->title . " (#{$i})";
                 }
             }
         }
     }
     $jobs += $new_jobs;
     $jobs['ultimate_cron_plugin_settings_queue_cleanup']->settings += array('scheduler' => array());
     $jobs['ultimate_cron_plugin_settings_queue_cleanup']->settings['scheduler'] += array('crontab' => array(), 'simple' => array());
     $jobs['ultimate_cron_plugin_settings_queue_cleanup']->settings['scheduler']['crontab'] += array('rules' => array('* * * * *'));
     $jobs['ultimate_cron_plugin_settings_queue_cleanup']->settings['scheduler']['simple'] += array('rules' => array('* * * * *'));
 }
Exemple #2
0
 /**
  * Implements hook_cron_alter().
  */
 public function cron_alter(&$jobs)
 {
     $new_jobs = array();
     foreach ($jobs as $job) {
         if (!$this->isValid($job)) {
             continue;
         }
         $settings = $job->getSettings();
         if (isset($settings['settings']['queue']['name'])) {
             if ($settings['settings']['queue']['throttle']) {
                 for ($i = 2; $i <= $settings['settings']['queue']['threads']; $i++) {
                     $name = $job->name . '_' . $i;
                     $hook = $job->hook;
                     $hook['settings']['queue']['master'] = $job->name;
                     $hook['settings']['queue']['thread'] = $i;
                     $hook['name'] = $name;
                     $hook['title'] .= " (#{$i})";
                     $hook['immutable'] = TRUE;
                     $new_jobs[$name] = ultimate_cron_prepare_job($name, $hook);
                     $new_jobs[$name]->settings = $settings + $new_jobs[$name]->settings;
                     $new_jobs[$name]->title = $job->title . " (#{$i})";
                 }
             }
         }
     }
     $jobs += $new_jobs;
 }