コード例 #1
0
// Retrieve a message from a queue
$message = $ironMQ->reserveMessage($queueName);
var_dump($message);
// Touch a message to keep it around longer, in case you are nearing the timeout
echo 'Touching a message';
$reservationID = $ironMQ->touchMessage($queueName, $message->id, $message->reservation_id, IronMQ::GET_MESSAGE_TIMEOUT);
var_dump($reservationID);
// The reservation ID changes after touching, so make sure to update the message
$message->reservation_id = $reservationID->reservation_id;
// Delete a message when you are finished. Reserved messages MUST pass the reservation ID
$deleteResult = $ironMQ->deleteMessage($queueName, $message->id, $message->reservation_id);
var_dump($deleteResult);
// Put some new messages in the queue for us to work with
$ironMQ->postMessage($queueName, 'This is a sample message');
$ironMQ->postMessage($queueName, 'This is a sample message2');
$ironMQ->postMessage($queueName, 'This is a sample message3');
$ironMQ->postMessage($queueName, 'This is a sample message4');
$messages = $ironMQ->reserveMessages($queueName, 4);
var_dump($messages);
// Delete all of the messages. You can also delete messages individually if you'd like
$ironMQ->deleteMessages($queueName, $messages);
// Put some new messages in the queue for us to work with
$ironMQ->postMessage($queueName, 'This is a sample message');
$ironMQ->postMessage($queueName, 'This is a sample message2');
// See what messages are there without reserving them
$peekResult = $ironMQ->peekMessage($queueName);
var_dump($peekResult);
$peekResult = $ironMQ->peekMessages($queueName, 2);
var_dump($peekResult);
// Delete the sample queue we created
$ironMQ->deleteQueue($queueName);
コード例 #2
0
use IronMQ\IronMQ;
$ironMQ = new IronMQ();
//$ironMQ->debug_enabled = true;
$ironMQ->ssl_verifypeer = false;
// Generating a random queue so we don't collide with any existing queues. Feel free to use a proper name
$queueName = md5(rand() . time());
$ironMQ->createQueue($queueName, array('message_expiration' => 3600));
// Generate a queue to hold the alerts that will be generated
$alertQueueName = $queueName . '_alerts';
$ironMQ->createQueue($alertQueueName, array('message_expiration' => 3600));
// Every 200 messages, generate an alert
$alert = array('type' => 'progressive', 'direction' => 'asc', 'trigger' => 200, 'queue' => $alertQueueName);
$addResponse = $ironMQ->addAlerts($queueName, array($alert));
var_dump($addResponse);
// Our Alert queue should be empty
$messages = $ironMQ->peekMessage($alertQueueName);
var_dump($messages);
// Let's generate a bunch of messages to trigger an alert
for ($i = 0; $i < 250; $i++) {
    $ironMQ->postMessage($queueName, 'Test Message' . $i);
}
// We should now have one
$messages = $ironMQ->peekMessage($alertQueueName);
var_dump($messages);
// To get the existing alerts on a queue, use getQueue()
$queueData = $ironMQ->getQueue($queueName);
$alerts = $queueData->alerts;
// Update the alerts on a queue
$alerts[0]->trigger = 500;
$updateResponse = $ironMQ->updateAlerts($queueName, $alerts);
var_dump($updateResponse);