AMQPQueue::consume

(PECL amqp >= Unknown)

AMQPQueue::consumeConsomme les messages depuis la file d'attente

Description

public void AMQPQueue::consume ( callable $callback [, int $flags = AMQP_NOPARAM ] )

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

?>

LoadingChargement en cours