第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

我如何消費(fèi)來自rabbitmq的一批消息?

我如何消費(fèi)來自rabbitmq的一批消息?

Go
萬千封印 2023-06-05 17:34:43
在消費(fèi)之前我設(shè)置consumeChannel.Qos(5,0,false)但仍然只收到一條消息,而不是一包五條。我做錯(cuò)了什么?完整代碼:consumeChannel.Qos(5,0,false)msgs, _ := consumeChannel.Consume("ticks", "", false, false, false, false, nil, )for d := range msgs {    println("Received a message: %s", d.Body)    println("Done")    //here will be some extra multiple message handling    //d.Ack(false)}
查看完整描述

1 回答

?
子衿沉夜

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊

但仍然只收到一條消息,而不是一包五條。我做錯(cuò)了什么?

您不了解 RabbitMQ 和 QoS / prefetch 是如何工作的(文檔),或者它如何與rangeGo 客戶端的操作員交互。

QoS 并不意味著“批量發(fā)送消息”,它對(duì)通道上未確認(rèn)消息的數(shù)量設(shè)置了限制。如果您要?jiǎng)h除d.Ack代碼中的調(diào)用并for無限期地運(yùn)行循環(huán),它只會(huì)運(yùn)行 5 次迭代,然后停止,因?yàn)?RabbitMQ 屆時(shí)將停止向您的消費(fèi)者傳遞消息。

我沒有查看代碼,但我假設(shè)您使用的 Go 客戶端是以這樣一種方式編寫的:一旦消息被接收和解碼,它就會(huì)被傳送到頻道msgs。當(dāng)您在循環(huán)中確認(rèn)消息時(shí),它向 RabbitMQ 表明可以將另一條消息傳遞到該通道。

我建議重新編寫您的代碼以跟蹤通過通道傳遞了多少消息msgs,完成您的工作,然后使用多重確認(rèn)同時(shí)確認(rèn)它們。

查看完整回答
反對(duì) 回復(fù) 2023-06-05
  • 1 回答
  • 0 關(guān)注
  • 162 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)