/** * Get multiple messages from queue * * @param string $queue_name Queue name * @param int $count * @param int $timeout * @return array|null array of messages or null * @throws CException */ public function mqGetMessages($queue_name, $count = 1, $timeout = IronMQ::GET_MESSAGE_TIMEOUT) { try { return $this->_mq->getMessages($queue_name, $count, $timeout); } catch (Exception $e) { Yii::log('Error in IronMQ: ' . $e->getMessage(), 'error', 'ext.yiiron'); throw new CException($e->getMessage()); } }
function get_emails($token, $project_id) { //initializing iron_mq $ironmq = new IronMQ(array('token' => $token, 'project_id' => $project_id)); //getting 100 messages from iron_mq $messages = $ironmq->getMessages('mail', 100); $emails = array(); foreach ($messages as $message) { //adding message body to list of emails $emails[] = $message->body; //deleting message from queue $ironmq->deleteMessage('mail', $message->id); } return $emails; }
$res = $ironmq->touchMessage("test_queue", $message->id); print_r($res); echo "Release message..\n"; $res = $ironmq->releaseMessage("test_queue", $message->id); print_r($res); echo "Peek message..\n"; $res = $ironmq->peekMessage("test_queue"); print_r($res); echo "Delete message..\n"; $message = $ironmq->deleteMessage("test_queue", $message->id); print_r($message); $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 "Adding alerts..\n"; $res = $ironmq->postMessage("test_alert_queue", "Test Message 1"); $first_alert = array('type' => 'fixed', 'direction' => 'desc', 'trigger' => 1001, 'snooze' => 10, 'queue' => 'test_alert_queue'); $second_alert = array('type' => 'fixed', 'direction' => 'asc', 'trigger' => 1000, 'snooze' => 5, 'queue' => 'test_alert_queue'); $res = $ironmq->addAlerts("test_alert_queue", array($first_alert, $second_alert)); print_r($res); echo "Deleting alerts with ids..\n"; $message = $ironmq->getQueue("test_alert_queue");