一個worker是否可以消費多個隊列
目前這樣寫好像有問題,遇到了死鎖問題。
demo里邊只有監(jiān)聽一個隊列,consume是否是阻塞進程。
請教監(jiān)聽多個隊列應該怎么處理,是需要開啟多個worker,然后不同worker監(jiān)聽不同隊列嗎?
使用的是這個庫 https://github.com/walkor/rabbitmq
目測這個客戶端是非阻塞的客戶端,不會阻塞進程。是否阻塞運行 php start.php status 看下就知道了,如果消費者是busy就是阻塞的。
感覺應該可以一個客戶端訂閱多個消息,如果不行就建立多個客戶端唄,沒必要一個隊列開一個worker。
foreach ($subjects as $subject) {
(new Client())->connect()->then(function (Client $client) {
return $client->channel();
})->then(function (Channel $channel) {
$channel->consume(.....);
});
}