RabbitMQ-如何通过多个通道重用同一连接

问题描述 投票:0回答:1

我正在尝试掌握RabbitMQ的一些最佳做法。我的目标是创建一个连接,然后在该连接上使用,在此连接上创建多个通道。

遵循RabbitMQ和php-amqplib文档,创建一个新连接看起来像这样。

$newConnection = new AMQPStreamConnection('localhost', 5672, 'guest', 'guest');
$newChannel = $newConnection->channel($channel_id);

代码继续以

while ($this->channel->is_consuming()) {
    $this->channel->wait();
}

我将此代码保存在文件test.php中。然后,我继续打开两个终端会话,并在每个会话上运行以下

php test.php

我可以看到两个通道都处于打开状态并正在等待。但是,当我访问RabbitMQ的管理UI页面并单击“连接”选项卡时,我看到列出了2个连接,每个连接具有1个通道。我希望只能看到2个频道的1个连接。

有人可以帮我吗?谢谢!

php rabbitmq amqp php-amqplib
1个回答
0
投票

您必须尝试使用​​通道循环和$channel->wait(null, true);。第二个参数是$non_blocking,默认参数是false

© www.soinside.com 2019 - 2024. All rights reserved.