From 4c066543587bb0ec88a6723f4d66da60c36aec53 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期六, 21 十月 2023 14:25:52 +0800
Subject: [PATCH] 关闭消费者时先关闭连接,再停止消费者

---
 pkg/nsqclient/consumer.go |    7 ++++---
 nsq/nsq.go                |    2 +-
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/nsq/nsq.go b/nsq/nsq.go
index 18fa6ce..e127399 100644
--- a/nsq/nsq.go
+++ b/nsq/nsq.go
@@ -89,5 +89,5 @@
 
 func Stop() {
 	defaultConsumerManager.stop()
-	StopProducer()
+	//StopProducer()
 }
diff --git a/pkg/nsqclient/consumer.go b/pkg/nsqclient/consumer.go
index fe09c27..78908dc 100644
--- a/pkg/nsqclient/consumer.go
+++ b/pkg/nsqclient/consumer.go
@@ -91,9 +91,6 @@
 		select {
 		case <-n.ctx.Done():
 			logx.Infof("[%s] stop consumer...", n.topic)
-			n.consumer.Stop()
-			<-n.consumer.StopChan
-			logx.Infof("[%s] stop consumer success", n.topic)
 			for _, addr := range qAddr {
 				err = n.consumer.DisconnectFromNSQD(addr)
 				if err != nil {
@@ -102,6 +99,10 @@
 					logx.Infof("disconnect from nsq server success, addr: %v, topic: %v", addr, n.topic)
 				}
 			}
+			n.consumer.Stop()
+			<-n.consumer.StopChan
+			logx.Infof("[%s] stop consumer success", n.topic)
+
 			return nil
 		}
 	}

--
Gitblit v1.8.0