From 859eb8b7e44acf7bb5efce0c3ac3be8788ed196d Mon Sep 17 00:00:00 2001 From: kercylan98 Date: Tue, 16 May 2023 14:04:07 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B7=A8=E6=9C=8Dnats=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/corss/nats.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/server/corss/nats.go b/server/corss/nats.go index 42204b6..ecce639 100644 --- a/server/corss/nats.go +++ b/server/corss/nats.go @@ -8,6 +8,7 @@ import ( "github.com/kercylan98/minotaur/utils/synchronization" "github.com/nats-io/nats.go" "go.uber.org/zap" + "time" ) func NewNats(url string, options ...NatsOption) *Nats { @@ -37,6 +38,18 @@ type Nats struct { func (slf *Nats) Init(server *server.Server, packetHandle func(serverId int64, packet []byte)) (err error) { if slf.conn == nil { + if len(slf.options) == 0 { + slf.options = append(slf.options, + nats.ReconnectWait(time.Second*5), + nats.MaxReconnects(-1), + nats.DisconnectErrHandler(func(conn *nats.Conn, err error) { + log.Error("Cross.Nats", zap.String("info", "disconnect"), zap.Error(err)) + }), + nats.ReconnectHandler(func(conn *nats.Conn) { + log.Info("Cross.Nats", zap.String("info", "reconnect")) + }), + ) + } slf.conn, err = nats.Connect(slf.url, slf.options...) if err != nil { return err