Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
adding Delete Multiple Messages from a Queue method with example
  • Loading branch information
d-kononov committed Feb 7, 2014
1 parent 0efb789 commit 861d29f
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 0 deletions.
24 changes: 24 additions & 0 deletions IronMQ.class.php
Expand Up @@ -385,6 +385,30 @@ public function deleteMessage($queue_name, $message_id)
return $this->apiCall(self::DELETE, $url);
}

/**
* Delete Messages from a Queue
* This call will delete the messages. Be sure you call this after you’re done with a message,
* or it will be placed back on the queue.
*
* @param $queue_name
* @param $message_ids
* @return mixed
*/
public function deleteMessages($queue_name, $message_ids)
{
$req = array(
"ids" => array()
);
foreach ($message_ids as $message_id) {
array_push($req['ids'], $message_id);
}
$this->setCommonHeaders();
$queue = rawurlencode($queue_name);
$url = "projects/{$this->project_id}/queues/$queue/messages";
$result = $this->apiCall(self::DELETE, $url, $req);
return self::json_decode($result);
}

/**
* Peek Messages on a Queue
* Peeking at a queue returns the next messages on the queue, but it does not reserve them.
Expand Down
Binary file modified iron_mq.phar
Binary file not shown.
11 changes: 11 additions & 0 deletions testMessages.php
Expand Up @@ -40,6 +40,17 @@
$message = $ironmq->getMessage("test_queue");
print_r($message);

echo "Getting multiple messages..\n";
$messageIds = array();
$messages = $ironmq->getMessages("test-queue-multi", 2);
foreach($messages as $message){
array_push($messageIds, $message->id);
}
echo "Deleting messages with ids..\n";
print_r($messageIds);
$res = $ironmq->deleteMessages("test-queue-multi", $messageIds);
print_r($res);


echo "\n------$i-------\n";
}
Expand Down

0 comments on commit 861d29f

Please sign in to comment.