當員工關閉時,我會在RabbitMQ中向我的隊列發佈很多消息。 然後我開始我的工作人員,他從隊列中獲取所有消息,並且他工作正常,但是當我停止我的工作人員過程時,他會結束所有消息從隊列中刪除。 如果我開始第二個同樣的工人,他沒有消息。RabbitMQ在啓動時從隊列中取出一條消息
$channel->queue_declare($action, false, false, false, false);
$channel->basic_qos(null, 1, null);
$channel->basic_consume($action, '', false, true, false, false, $callback);
我可以做我的工作人員是如何發生的開始只有一個消息隊列,從當工人停止,並開始他繼續從隊列中,他停止採取的消息?
它看起來不錯,但我不知道現在我怎麼能發回消息是完全消耗的信息。 –
@BartekPieczonka使用'bacic_ack'方法(對應於'basic.ack'命令)。 PHP庫文檔是..廢話,但它是不同的客戶端相同的原則。請參閱https://www.rabbitmq.com/tutorials/tutorial-two-php.html並注意'$ msg-> delivery_info ['channel'] - > basic_ack($ msg-> delivery_info ['delivery_tag']);' – user2864740
是的,現在很好,非常感謝!你太棒了。 –