RabbitMQ状态的示例代码
当我们的 $channel 有回调时,我们的代码将阻塞。每当我们收到一条消息时,我们的 $callback 函数都会收到收到的消息。
使用此代码段
while(count($channel->callbacks)) {
$channel->wait();
}
这让我很困惑,因为默认超时PhpAmqpLib\Channel\AbstractChannel::wait
是永远。
public function wait($allowed_methods = null, $non_blocking = false, $timeout = 0)
因此,如果wait
永远阻塞,代码将如何到达while
循环的第二次迭代?
是否可以安全地说循环仅在传递 awhile
时才是必要的?wait
$timeout > 0