Example #1
0
 /**
  * Reserve and return the next available job in the specified queue.
  *
  * @param string $queue Queue to fetch next available job from.
  *
  * @return Job Instance of Job to be processed, false if none or error.
  */
 public static function reserve($queue)
 {
     return Job::reserve($queue);
 }
Example #2
0
 /**
  * @param  bool $blocking
  * @param  int $timeout
  *
  * @return object|boolean               Instance of Job if a job is found, false if not.
  */
 public function reserve($blocking = false, $timeout = null)
 {
     $queues = $this->queues();
     if (!is_array($queues)) {
         return;
     }
     if ($blocking === true) {
         $job = Job::reserveBlocking($queues, $timeout);
         if ($job) {
             $this->logger->log(LogLevel::INFO, 'Found job on {queue}', array('queue' => $job->queue));
             return $job;
         }
     } else {
         foreach ($queues as $queue) {
             $this->logger->log(LogLevel::INFO, 'Checking {queue} for jobs', array('queue' => $queue));
             $job = Job::reserve($queue);
             if ($job) {
                 $this->logger->log(LogLevel::INFO, 'Found job on {queue}', array('queue' => $job->queue));
                 return $job;
             }
         }
     }
     return false;
 }