Example #1
0
 /**
  * reserve
  *
  * @param string $queue
  * @param \Zend\ServiceManager\ServiceLocatorInterface|null $service_locator
  *
  * @return bool|\Zf2ResqueEx\Service\Job
  */
 public static function reserve($queue, ServiceLocatorInterface $service_locator = null)
 {
     $payload = Resque::pop($queue);
     if (!is_array($payload)) {
         return false;
     }
     $job = new Job($queue, $payload);
     $job->setServiceLocator($service_locator);
     return $job;
 }
 public function reserve($timeout = null)
 {
     $queues = $this->queues();
     if (!is_array($queues)) {
         return false;
     }
     foreach ($queues as $queue) {
         $this->log(['message' => 'Checking ' . $queue, 'data' => ['type' => 'check', 'queue' => $queue]], self::LOG_TYPE_DEBUG);
         $job = Job::reserve($queue, $this->getServiceLocator());
         if ($job) {
             $this->log(['message' => 'Found job on ' . $queue, 'data' => ['type' => 'found', 'queue' => $queue]], self::LOG_TYPE_DEBUG);
             return $job;
         }
     }
     return false;
 }