You are here

function drush_ultimate_cron_cron_run in Ultimate Cron 8.2

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

Run cron job(s).

File

./ultimate_cron.drush.inc, line 324
Drush commands for Ultimate Cron!

Code

function drush_ultimate_cron_cron_run($name = NULL) {
  if ($options = drush_get_option('options')) {
    $pairs = explode(',', $options);
    foreach ($pairs as $pair) {
      list($key, $value) = explode('=', $pair);
      CronPlugin::setGlobalOption(trim($key), trim($value));
    }
  }
  $force = drush_get_option('force');
  if (!$name) {

    // Run all jobs.
    $jobs = CronJob::loadMultiple();

    /** @var CronJob $job */
    foreach ($jobs as $job) {
      if ($force || $job
        ->isScheduled()) {
        $job
          ->run(t('Launched by drush'));
      }
    }
  }
  else {

    // Run a specific job.
    $job = CronJob::load($name);
    if (!$job) {
      return drush_set_error(dt('@name not found', array(
        '@name' => $name,
      )));
    }
    if ($force || $job
      ->isScheduled()) {
      $job
        ->run(t('Launched by drush'));
    }
  }
}