Example #1
0
 public function receiveMessage($queueId = null, $waitTime = 0)
 {
     $queueId = $this->normaliseQueueId($queueId);
     if (empty($waitTime)) {
         $waitTime = $this->waitTime;
     }
     $message = $this->predis->blpop([$queueId], $waitTime);
     if (empty($message[1])) {
         return null;
     }
     /** @var QueueMessage $queueMessage */
     $queueMessage = $this->messageFactory->createMessage($message[1], $queueId);
     $index = $this->receivedMessageCounter++;
     $this->receivedMessages[$index] = $queueMessage;
     $queueMessage->setReceiptId($index);
     return $queueMessage;
 }
Example #2
0
 /**
  * {@inheritDoc}
  */
 public function receiveMessage($queueId = null, $waitTime = null)
 {
     if (empty($queueId)) {
         // have to do this here as we need the ID later in this method
         $queueId = $this->getQueueId();
     }
     $queueUrl = $this->getQueueUrl($queueId);
     $message = $this->queueClient->receiveMessage(["QueueUrl" => $queueUrl, "WaitTimeSeconds" => isset($waitTime) ? $waitTime : $this->waitTime]);
     return $this->messageFactory->createMessage($message->toArray(), $queueId);
 }
Example #3
0
 public function testReceiveMessage()
 {
     $messageArray = [1, 2, 3];
     /** @var \Mockery\Mock $message */
     $message = \Mockery::mock("Guzzle\\Common\\Collection");
     $message->shouldReceive("toArray")->andReturn($messageArray)->getMock();
     $this->sqsClient->shouldReceive("receiveMessage")->with(["QueueUrl" => $this->queueUrl, "WaitTimeSeconds" => 20])->andReturn($message);
     $this->messageFactory->shouldReceive("createMessage")->with($messageArray, $this->queueId)->andReturn(true);
     $queue = new Queue($this->sqsClient, $this->messageFactory, $this->queueId);
     $this->assertTrue($queue->receiveMessage());
 }