AMQPQueue
PHP Manual

AMQPQueue::consume

(PECL amqp >= Unknown)

AMQPQueue::consumeИспользовать сообщения из очереди

Описание

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

Это блокирующая функция, которая получает следующее сообщение из очереди, когда оно становится доступным, и передает его функции обратного вызова.

Список параметров

callback

Функция обратного вызова, которой передается сообщение. Эта функция должна принимать минимум один параметр - это объект AMQPEnvelope и второй опциональный параметр - объект AMQPQueue, из которого было прочитано сообщение.

Метод AMQPQueue::consume() не будет возвращать назад управление скрипту PHP до тех пор, пока функция обратного вызова не вернет FALSE.

flags

Битовая маска, состоящая из таких флагов: AMQP_NOACK.

Ошибки

Генерирует исключение AMQPChannelException, если канал не открыт.

Генерирует исключение AMQPConnectionException, если соединение с брокером было потеряно.

Возвращаемые значения

Примеры

Пример #1 Пример использования AMQPQueue::consume()

<?php

     
/* Создание соединения, используя все учетные данные по умолчанию: */
     
$connection = new AMQPConnection();
     
$connection->connect();

     
$channel = new AMQPChannel($connection);

     
/* создание объекта очереди */
     
$queue = new AMQPQueue($channel);

     
// объявление очереди
     
$queue->declare('myqueue');

     
$i 0;
     function 
processMessage($envelope$queue) {
        global 
$i;
        echo 
"Сообщение $i: " $envelope->getBody() . "\n";
        
$i++;
        if (
$i 10) {
            
// Выходим после 10 сообщений
            
return false;
        }
     }

     
// получение сообщений
     
$queue->consume("processMessage");

     
?>


AMQPQueue
PHP Manual