I need to catch only one actual message from one queue. The rabbit is trying to catch everyone. Simplified code below:
private function getSingleTask(){
$connection = new AMQPConnection('localhost', 5672, 'guest', 'guest');
$channel = $connection->channel();
$channel->queue_declare('hello', false, false, false, false);
$callback = function($msg) {
return $msg->body;
};
$channel->basic_qos(null, 1, null);
$channel->basic_consume('helloQueue', '', false, true, false, false, $callback);
$channel->wait(null, true, 5);
}
I send a few messages to the queue, but as soon as I execute part of the code below, it receives ALL messages from the queue and $ callbacks are only the first.
source
share