1
在我們的應用中使用RabbitMq 有幾百個消息在時間上積累,處於未排隊狀態的幾個隊列,而TTL由於多次意外關閉而不工作聽衆沒有活着。如何推送消息從未準備就緒,rabbitmq
現在出於商業原因,我不能只是清空隊列。 我想手動推送未使用的消息到就緒狀態。
有沒有?
謝謝!
在我們的應用中使用RabbitMq 有幾百個消息在時間上積累,處於未排隊狀態的幾個隊列,而TTL由於多次意外關閉而不工作聽衆沒有活着。如何推送消息從未準備就緒,rabbitmq
現在出於商業原因,我不能只是清空隊列。 我想手動推送未使用的消息到就緒狀態。
有沒有?
謝謝!
有2種方式,從unack'd郵件移動到準備:
1)從消費者ACK消息
2)關閉正在拿着他們開了消費者
很可能,選項#1並不是真正的選擇。當一個消息被卡住時,通常是因爲消費者失去了對該消息的追蹤,並且無法再進行確認。
這通常會留下#2:您需要關閉以前連接到該隊列的所有消費者。當消息被取消並且消費者下降時,RMQ將把消息推回到準備好的狀態。
如果您關閉了消費者並重新啓動它們,則會將消息重新置於unack'd狀態,那麼您需要找出導致消費者錯誤的原因,修復代碼並重新啓動它。
有沒有第三種方法? – user3123372