From e1890392075ce73bff71c5dc0167f8af46cba0a1 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期六, 21 十月 2023 14:43:21 +0800
Subject: [PATCH] 事件幂等性操作

---
 nsq/nsq.go |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/nsq/nsq.go b/nsq/nsq.go
index 3887253..847da9a 100644
--- a/nsq/nsq.go
+++ b/nsq/nsq.go
@@ -10,11 +10,13 @@
 	"errors"
 	"fmt"
 	"sync"
+	"sync/atomic"
 )
 
 type consumerManager struct {
-	ctx     context.Context
-	clients sync.Map
+	ctx      context.Context
+	clients  sync.Map
+	initFlag int32
 }
 
 var defaultConsumerManager *consumerManager
@@ -27,6 +29,9 @@
 	if len(conf.Conf.NsqConf.NodeId) <= 0 {
 		return errors.New("no NodeId")
 	}
+	if !atomic.CompareAndSwapInt32(&c.initFlag, 0, 1) {
+		return nil
+	}
 	if err := initProducer(); err != nil {
 		return err
 	}

--
Gitblit v1.8.0