/**
  * @inheritDoc
  */
 public function ack($queueName, Envelope $envelope)
 {
     if (!$envelope instanceof IronEnvelope) {
         throw new InvalidEnvelope(sprintf('%s requires that envelopes be instances of "%s", got "%s"', __CLASS__, IronEnvelope::class, get_class($envelope)));
     }
     $this->iron->deleteMessage($queueName, $envelope->getId(), $envelope->getReservationId());
 }
Example #2
0
 /**
  * Delete a message from the Iron queue.
  *
  * @param string $queue
  * @param string $id
  *
  * @return void
  */
 public function deleteMessage($queue, $id, $reservation_id = null)
 {
     if ($reservation_id) {
         $this->iron->deleteMessage($queue, $id, $reservation_id);
     } else {
         $this->iron->deleteMessage($queue, $id);
     }
 }
 /**
  * Delete a message from the Iron queue.
  *
  * @param  string $queue
  * @param  string $id
  * @param null $reservation_id
  */
 public function deleteMessage($queue, $id, $reservation_id = null)
 {
     if ($reservation_id) {
         $this->iron->deleteMessage($queue, $id, $reservation_id);
     } else {
         // Version 1 of API does not use reservation_id
         $this->iron->deleteMessage($queue, $id);
     }
 }
Example #4
0
 public function testEmptyIron()
 {
     $iron_mq = new IronMQ();
     $i = 0;
     $message = $iron_mq->reserveMessage('MyQueue');
     while ($message !== null) {
         echo "{$i} th message: " . $message->body . "\n";
         $iron_mq->deleteMessage('MyQueue', $message->id, $message->reservation_id);
         //'4a309ef65422643bd14383dee06bed29');
         $i++;
         $message = $iron_mq->reserveMessage('MyQueue');
     }
 }
Example #5
0
 /**
  * {@inheritDoc}
  */
 public function delete($id)
 {
     try {
         $this->ironmq->deleteMessage($this->getNameWithPrefix(), $id);
         $this->log(200, "Message deleted.", ['message_id' => $id]);
     } catch (\Exception $e) {
         if (false !== strpos($e->getMessage(), "Queue not found")) {
             $this->log(400, "Queue did not exist");
         } else {
             throw $e;
         }
     }
     return true;
 }
Example #6
0
 /**
  * Delete a message from the Iron queue.
  *
  * @param  string  $queue
  * @param  string  $id
  * @return void
  */
 public function deleteMessage($queue, $id)
 {
     $this->iron->deleteMessage($queue, $id);
 }
require_once __DIR__ . '/../vendor/autoload.php';
use IronMQ\IronMQ;
$ironMQ = new IronMQ();
//$ironMQ->debug_enabled = true;
$ironMQ->ssl_verifypeer = false;
// Generating a random queue so we don't collide with any existing queues. Feel free to use a proper name
$queueName = md5(rand() . time());
$ironMQ->createQueue($queueName, array('message_expiration' => 3600));
// Post a message to a queue
$singleMessageResponse = $ironMQ->postMessage($queueName, 'This is a sample message');
var_dump($singleMessageResponse);
// Post multiple messages to a single queue
$multiMessageResponse = $ironMQ->postMessages($queueName, array('Message 1', 'Message 2'));
var_dump($multiMessageResponse);
// Delete these messages one at a time
$ironMQ->deleteMessage($queueName, $singleMessageResponse->id);
foreach ($multiMessageResponse->ids as $messageID) {
    $ironMQ->deleteMessage($queueName, $messageID);
}
// Put a new message in the queue for us to work with
$ironMQ->postMessage($queueName, 'This is a sample message');
// Retrieve a message from a queue
$message = $ironMQ->reserveMessage($queueName);
var_dump($message);
// Touch a message to keep it around longer, in case you are nearing the timeout
echo 'Touching a message';
$reservationID = $ironMQ->touchMessage($queueName, $message->id, $message->reservation_id, IronMQ::GET_MESSAGE_TIMEOUT);
var_dump($reservationID);
// The reservation ID changes after touching, so make sure to update the message
$message->reservation_id = $reservationID->reservation_id;
// Delete a message when you are finished. Reserved messages MUST pass the reservation ID
Example #8
0
 /**
  * Delete a message from the Iron queue.
  *
  * @param  string  $queue
  * @param  string  $id
  * @param  string  $reservationId
  * @return void
  */
 public function deleteMessage($queue, $id, $reservationId)
 {
     $this->iron->deleteMessage($queue, $id, $reservationId);
 }
Example #9
0
 public function ack($identifier, $internals)
 {
     $this->queue->deleteMessage($this->queueName, $identifier, $internals['reservation_id']);
 }