Esempio n. 1
0
 /**
  * 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());
     }
 }
Esempio n. 2
0
 /**
  * {@inheritdoc}
  */
 public function release(ManagerInterface $manager, $delay = 0)
 {
     $this->iron->releaseMessage($manager->getQueue(), $manager->getIronJob()->id, $delay);
     return true;
 }
Esempio n. 3
0
$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);
Esempio n. 4
0
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";
Esempio n. 5
0
 public function releaseJob(JobInterface $job)
 {
     $this->ironMQ->releaseMessage($this->queue_name, $job->getIronMQMessageId());
 }