Ejemplo n.º 1
0
 public function recurring()
 {
     $this->out('Firing recurring event.');
     //Event is deprecated
     $event = new Event('DelayedJobs.recurring', $this);
     $event->result = RecurringJobBuilder::retrieve();
     EventManager::instance()->dispatch($event);
     $this->out(__('{0} jobs to queue', count($event->result)), 1, Shell::VERBOSE);
     foreach ($event->result as $job) {
         if (!$job instanceof Job) {
             $job = new Job($job + ['group' => 'Recurring', 'priority' => 100, 'maxRetries' => 5, 'runAt' => new Time('+30 seconds')]);
         }
         if (JobManager::instance()->isSimilarJob($job)) {
             $this->out(__('  <error>Already queued:</error> {0}', $job->getWorker()), 1, Shell::VERBOSE);
             continue;
         }
         $this->enqueue($job);
         $this->out(__('  <success>Queued:</success> {0}', $job->getWorker()), 1, Shell::VERBOSE);
     }
 }