/** * @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()); }
/** * 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); } }
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'); } }
/** * {@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; }
/** * 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
/** * 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); }
public function ack($identifier, $internals) { $this->queue->deleteMessage($this->queueName, $identifier, $internals['reservation_id']); }