nsq源码(6) nsqd 通知消息完成
通知nsqd执行完成操作
- 在客户端接收到消息并处理完成之后,按照协议会向nsqd 发送一个 "FIN" 命令通知nsqd,移除队列信息
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)
// 移除超时队列inFlightPQ
c.removeFromInFlightPQ(msg)
return nil
}
本文标题:nsq源码(6) nsqd 通知消息完成
本文链接:https://www.haomeiwen.com/subject/pvqhjqtx.html
网友评论