我使用php + RabbitMQ + MySQL進行了一些修改。如何在php中使用RabbitMQ重複檢索兩次或兩次以上的相同消息
我有工人在PHP,更新數據庫中的一個記錄。現在我試圖讓正確的 工作,如果服務器MySQL消失了。
我在做什麼: 我試圖重新連接數據庫10次,如果我不能 - 需要返回這個按摩回RabbitMQ。
用於接受消息我使用basic_ack,用於拒絕我使用basic_nack。
實施例:
if ($can_accept_message) {
$message->delivery_info['channel']->basic_ack($message->delivery_info['delivery_tag']);
} else {
$message->delivery_info['channel']->basic_nack($message->delivery_info['delivery_tag']);
}
但是basic_nack刪除隊列此消息,我無法再次重複它;(
閱讀本:https://github.com/php-amqplib/php-amqplib/issues/221
但它仍然無法正常工作。
怎麼回事?也許你有其他想法?
您可以向我們展示你的隊列配置好嗎?和其他虛擬問題,你確定你進入'else'? – olibiaz
** >>你能告訴我們您的隊列請的配置** 嘗試是這樣的:https://github.com/php-amqplib/php-amqplib/blob/d2b8a292f709b79b1615bef87b1b89bde4c7c347/demo/basic_nack.php ** >>和其他虛擬問題,你確定你在其他地方輸入?** 是 –