亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

RabbitMQ:如何使用計數器重新排隊消息

RabbitMQ:如何使用計數器重新排隊消息

Go
qq_遁去的一_1 2021-08-10 10:41:34
有沒有辦法計算作業重新排隊的次數(通過拒絕或 Nak)而無需手動重新排隊作業?我需要重試工作“n”次,然后在“n”次后放棄。ps:目前我手動重新排隊作業(如果計數器不存在或值小于“n”,則刪除舊作業,創建具有確切內容和額外計數器標頭的新作業)
查看完整描述

2 回答

?
拉丁的傳說

TA貢獻1789條經驗 獲得超8個贊

redelivered消息屬性,該屬性設置為true時消息重新發送一個或更多的時間。

如果您想跟蹤重新傳遞計數或左重新傳遞數(又名跳數限制或 IP 堆棧中的 ttl),您必須將該值存儲在消息正文或標題中(字面意思是 - 消費消息,修改它,然后將修改后的消息發布回代理)。


查看完整回答
反對 回復 2021-08-10
?
隔江千里

TA貢獻1906條經驗 獲得超10個贊

在消息實際上是死信的情況下,您可以檢查x-death消息頭的內容。

例如,當您rejectnackwithrequeue = false并且隊列具有關聯的死信交換時就是這種情況。

在這種情況下,此標頭的內容是一個數組。每個元素描述一次失敗的交付嘗試,包含嘗試交付的時間、路由信息等信息。

這適用于 RabbitMQ - 我不知道它是否適用于一般的 AMQP。

編輯

自從我最初寫這個答案以來,x-death標題結構已更改。

標頭更改格式通常是一件非常糟糕的事情,但在這種特殊情況下,原因是如果消息連續死信,消息大小將無限增長。

因此,我刪除了用于獲取消息死亡人數的代碼段。

仍然可以從新的標題格式中獲得死亡人數。


查看完整回答
反對 回復 2021-08-10
  • 2 回答
  • 0 關注
  • 346 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號