通知nsqd執(zhí)行完成操作
- 在客戶端接收到消息并處理完成之后,按照協(xié)議會(huì)向nsqd 發(fā)送一個(gè) "FIN" 命令通知nsqd沾乘,移除隊(duì)列信息
func (p *protocolV2) FIN(client *clientV2, params [][]byte) ([]byte, error) {
id, err := getMessageID(params[1])
err = client.Channel.FinishMessage(client.ID, *id)
client.FinishedMessage()
return nil, nil
}
func (c *Channel) FinishMessage(clientID int64, id MessageID) error {
// 移除緩存inFlightMessages
msg, err := c.popInFlightMessage(clientID, id)
// 移除超時(shí)隊(duì)列inFlightPQ
c.removeFromInFlightPQ(msg)
return nil
}
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者