/** * Touch a Message on a Queue * Touching a reserved message extends its timeout by the duration specified when the message was created, which is 60 seconds by default. * * @param string $queue_name * @param string $message_id * @return mixed * @throws CException */ public function mqTouchMessage($queue_name, $message_id) { try { return $this->_mq->touchMessage($queue_name, $message_id); } catch (Exception $e) { Yii::log('Error in IronMQ: ' . $e->getMessage(), 'error', 'ext.yiiron'); throw new CException($e->getMessage()); } }
#require("phar://iron_mq.phar"); require "../iron_core_php/IronCore.class.php"; require "IronMQ.class.php"; $ironmq = new IronMQ(); $ironmq->debug_enabled = true; $ironmq->ssl_verifypeer = false; $q_name = "test_queue_001"; $res = $ironmq->postMessage($q_name, "Test Message 1"); var_dump($res); $msg = $ironmq->reserveMessage($q_name); var_dump($msg); $reservation_id = $msg->reservation_id; for ($i = 0; $i < 3; $i++) { sleep(5); $res = $ironmq->touchMessage($q_name, $msg->id, $reservation_id); $reservation_id = $res->reservation_id; var_dump($res); } exit; $res = $ironmq->clearQueue("test_queue"); var_dump($res); $ironmq->postMessage("test_queue", "Test Message 2"); $ironmq->postMessage("test_queue", "Test Message 3"); $res = $ironmq->getMessage("test_queue"); var_dump($res); $res = $ironmq->getMessage("test_queue"); var_dump($res); $ironmq->postMessage("test_queue", "Test Message 4"); $ironmq->postMessage("test_queue", "Test Message 5"); $ironmq->postMessage("test_queue", "Test Message 6");
require "IronMQ.class.php"; $ironmq = new IronMQ(); #$ironmq->debug_enabled = true; $ironmq->ssl_verifypeer = false; for ($i = 0; $i < 10; $i++) { echo "Post message:\n"; $res = $ironmq->postMessage("test_queue", "Test Message {$i}"); var_dump($res); echo "Post messages:\n"; $res = $ironmq->postMessages("test-queue-multi", array("Test Message {$i}", "Test Message {$i}-2")); var_dump($res); echo "Get message..\n"; $message = $ironmq->getMessage("test_queue"); print_r($message); echo "Touch message..\n"; $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 "\n------{$i}-------\n"; } echo "\n done";