我正在使用dockmq 3.6.6使用docker image“rabbitmq:3”
每当我将一个新的消费者添加到我的RabbitMQ队列时,它会从10秒10小时内挂起。
以下是用于获取错误的代码示例。我也在Go中遇到此错误。所以它不依赖于库。
<?php
include(__DIR__."/vendor/autoload.php");
print "Start" . PHP_EOL;
$connection = new \PhpAmqpLib\Connection\AMQPStreamConnection('xxxx', 5697, 'guest', 'guest');
$channel = $connection->channel();
$callback = function($msg) {
echo " [x] Received ", $msg->body, "\n";
};
$channel->basic_consume('repositories', '', false, false, false, false, $callback);
while(count($channel->callbacks)) {
$channel->wait();
}
当我查看日志时,我看到了
=INFO REPORT==== 31-Jan-2017::21:14:33 ===
accepting AMQP connection <0.891.0> (10.32.0.1:54216 -> 10.44.0.3:5672)
=INFO REPORT==== 31-Jan-2017::21:14:34 ===
accepting AMQP connection <0.902.0> (10.32.0.1:54247 -> 10.44.0.3:5672)
当我在via rabbitmqctl期间执行list_consumer时,我在列表中看到了消费者,但没有消息被处理过。
答案 0 :(得分:0)
事实证明我需要设置Qos设置。
可以在以下网址找到更多信息: