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