AMQPQueue::consume
(PECL amqp >= Unknown)
AMQPQueue::consume — Consomme les messages depuis la file d'attente
Description
Fonction bloquante qui récupère le prochain message depuis la file d'attente, le rendant ainsi disponible et le passe à la fonction de rappel.
Liste de paramètres
-
callback
-
Une fonction de rappel qui recevra le message récupéré. La fonction doit accepter au minimum un paramètre, un objet AMQPEnvelope, et un second paramètre optionnel AMQPQueue représentant la file d'attente depuis laquelle le message est récupéré.
La méthode AMQPQueue::consume() ne retournera pas le thread exécutant la demande au script PHP tant que la fonction de rappel ne retournera pas
FALSE
. -
flags
-
Un masque contenant n'importe quel drapeau
AMQP_NOACK
.
Erreurs / Exceptions
Emets une exception AMQPChannelException si le canal n'est pas ouvert.
Emets une exception AMQPConnectionException si la connexion au broker a été perdue.
Valeurs de retour
Exemples
Exemple #1 Exemple avec AMQPQueue::consume()
<?php /* Création d'une connexion utilisant toutes les informations d'authentification par défaut : */ $connection = new AMQPConnection(); $connection->connect(); $channel = new AMQPChannel($connection); /* création d'un objet de file d'attente */ $queue = new AMQPQueue($channel); // Déclaration de la file d'attente $queue->declare('myqueue'); $i = 0; function processMessage($envelope, $queue) { global $i; echo "Message $i: " . $envelope->getBody() . "\n"; $i++; if ($i > 10) { // Bail after 10 messages return false; } } // Récupère les messages $queue->consume("processMessage"); ?>