2015-03-13 86 views

回答

1

您無法查詢RabbitMQ是否已經傳遞了特定的消息,但是如果您需要知道消息是否已由消費者處理,則可以使用RPC實現來獲取一次發送回發件人的響應你的訊息已被處理。

你可以在RabbitMQ官方教程here上找到一個關於如何實現RPC解決方案的例子。

+0

因爲我有一名工作人員可能需要很長時間處理一項工作,所以我希望能夠知道它是否正在處理中。我知道我可以在處理開始時發回消息,但只有服務器知道工人何時意外死亡。無論如何,我猜你的答案(「你不能」)是正確的...... :-( – 2015-03-13 11:00:11

+0

是的,這很難掩蓋邊緣情況,但是你總是可以利用RPC模式發送來自消費者的響應if如果沒有任何問題,只需回答運行是否成功。如果消費者本身因意外的異常崩潰,或者由於網絡或RabbitMQ問題,這當然是不可能的。 – eandersson 2015-03-13 11:16:52

相關問題