/** * 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; }