Ejemplo n.º 1
0
 /**
  * {@inheritdoc}
  */
 public function pop($queue, $timeout = 0)
 {
     if ($this->job === null) {
         throw new QueueEmptyException($queue);
     }
     $payload = $this->job->createPayload();
     $this->job = null;
     return new $this->managerClass($queue, $payload, $this);
 }
Ejemplo n.º 2
0
 /**
  * {@inheritdoc}
  */
 public function push($queue, Job $job)
 {
     return $this->iron->postMessage($queue, json_encode($job->createPayload()), $job->getOptions());
 }
Ejemplo n.º 3
0
 /**
  * {@inheritdoc}
  */
 public function push($queue, Job $job)
 {
     $options = $this->options + $job->getOptions();
     return $this->pheanstalk->putInTube($queue, json_encode($job->createPayload()), $options['priority'], $options['delay'], $options['timeout']);
 }
Ejemplo n.º 4
0
 /**
  * @covers ::createPayload
  */
 public function testClosurePayload()
 {
     $closure = function () {
         return true;
     };
     $job = new Job($closure, ['data'], ['options']);
     $this->assertEquals(['job' => 'Indigo\\Queue\\Job\\ClosureJob', 'closure' => serialize(new SerializableClosure($closure)), 'data' => ['data']], $job->createPayload());
 }
Ejemplo n.º 5
0
 /**
  * Prepares a message
  *
  * @param string $queue
  * @param Job    $job
  *
  * @return AMQPMessage
  *
  * @codeCoverageIgnore
  */
 protected function prepareMessage($queue, Job $job)
 {
     $this->queueDeclare($queue);
     return new AMQPMessage(json_encode($job->createPayload()), $job->getOptions());
 }