/** * Release a Message on a Queue * Releasing a reserved message unreserves the message and puts it back on the queue as if the message had timed out. * * @param string $queue_name * @param string $message_id * @param int $delay The item will not be available on the queue until this many seconds have passed. Default is 0 seconds. Maximum is 604,800 seconds (7 days). * @return mixed * @throws CException */ public function mqReleaseMessage($queue_name, $message_id, $delay = 0) { try { return $this->_mq->releaseMessage($queue_name, $message_id, $delay); } catch (Exception $e) { Yii::log('Error in IronMQ: ' . $e->getMessage(), 'error', 'ext.yiiron'); throw new CException($e->getMessage()); } }
/** * {@inheritdoc} */ public function release(ManagerInterface $manager, $delay = 0) { $this->iron->releaseMessage($manager->getQueue(), $manager->getIronJob()->id, $delay); return true; }
$id = $ironmq->postMessage("test_queue", "Test Message 0")->ids[0]; $message = $ironmq->getMessageById("test_queue", $id); var_dump($message); $queues = $ironmq->getQueues('n', 25); var_dump($queues); $ironmq->clearQueue("test_queue"); $ironmq->postMessage("test_queue", "Test Message 1"); $ironmq->postMessage("test_queue", "Test Message 2"); $message = $ironmq->reserveMessage("test_queue"); $res = $ironmq->touchMessage("test_queue", $message->id, $message->reservation_id); var_dump($res); $ironmq->clearQueue("test_queue"); $ironmq->postMessage("test_queue", "Test Message 1"); $ironmq->postMessage("test_queue", "Test Message 2"); $message = $ironmq->reserveMessage("test_queue"); $res = $ironmq->releaseMessage("test_queue", $message->id, 0, $message->reservation_id); var_dump($res); $ironmq->clearQueue("test_queue"); $res = $ironmq->getQueue("test_queue"); var_dump($res); $ironmq->postMessage("test_queue_aler", "Test Message 1"); $res = $ironmq->getQueue("test_queue_aler"); var_dump($res); $res = $ironmq->addAlerts("test_queue_aler", array(array('type' => 'progressive', 'direction' => 'asc', 'trigger' => 200, 'queue' => 'ddd'))); var_dump($res); $res = $ironmq->getQueue("test_queue_aler"); var_dump($res); $ironmq->postMessage("test_queue_upd", "Test Message 2"); $res = $ironmq->getQueue("test_queue_upd"); $res = $ironmq->updateQueue("test_queue_upd", array('message_expiration' => 600777)); var_dump($res);
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";
public function releaseJob(JobInterface $job) { $this->ironMQ->releaseMessage($this->queue_name, $job->getIronMQMessageId()); }