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