// 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);
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);