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