#php #rabbitmq
Как из php скрипта определить количество сообщений в очереди? Вот мой код: channel(); $channel->basic_consume('sms_inbox', '', true, false, false, false, $callback);
Ответы
Ответ 1
Это костыль для решения этого вопроса. Как сделать вывод количества сообщений в очереди средствами php без функции exec() у меня так и не вышло $content = exec('rabbitmqctl list_queues|grep sms_inbox'); preg_match_all('/sms_inbox(.+)/', $content, $result, PREG_PATTERN_ORDER); $cnt = trim($result[1][0]);Ответ 2
$queue = new AMQPQueue($channel); $queue->setName('sms_inbox'); $queue->setFlags(AMQP_DURABLE); echo $queue->declare() . PHP_EOL; // до 1.2.0 или с версии rabbitmq 1.2.0: echo $queue->declareQueue() . PHP_EOL; // с 1.2.0 Метод declare() кроме того, что объявляет очередь, возвращает количество сообщений в очереди. Return Values Returns the message count. С версии amqp 1.2.0 AMQPQueue::declare() deprecated и нужно использовать AMQPQueue::declareQueue().
Комментариев нет:
Отправить комментарий