From 7276ab65576ec73b439a40d7f1a3035a534b968c Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期五, 20 十月 2023 19:12:40 +0800 Subject: [PATCH] 停止消费时关闭tcp连接 --- pkg/nsqclient/consumer.go | 12 ++++++++++-- nsq/nsq.go | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/nsq/nsq.go b/nsq/nsq.go index c2eb366..06e78e5 100644 --- a/nsq/nsq.go +++ b/nsq/nsq.go @@ -73,8 +73,8 @@ nsqclient.DestroyNsqConsumer(consumer) logx.Infof("try stop consumer, topic : %v", key) consumer = nil + c.clients.Delete(key) } - return true }) } diff --git a/pkg/nsqclient/consumer.go b/pkg/nsqclient/consumer.go index 644fba3..fe09c27 100644 --- a/pkg/nsqclient/consumer.go +++ b/pkg/nsqclient/consumer.go @@ -90,10 +90,18 @@ for { select { case <-n.ctx.Done(): - logx.Infof("[%s]%s stop consumer...", n.topic, n.channel) + logx.Infof("[%s] stop consumer...", n.topic) n.consumer.Stop() <-n.consumer.StopChan - logx.Infof("[%s]%s stop consumer success", n.topic, n.channel) + logx.Infof("[%s] stop consumer success", n.topic) + for _, addr := range qAddr { + err = n.consumer.DisconnectFromNSQD(addr) + if err != nil { + logx.Errorf("disconnect from nsq server failed, err: %v, addr: %v, topic: %v", err, addr, n.topic) + } else { + logx.Infof("disconnect from nsq server success, addr: %v, topic: %v", addr, n.topic) + } + } return nil } } -- Gitblit v1.8.0