From 2a9897e137f822640609249b6c49f2978c6bc1c9 Mon Sep 17 00:00:00 2001 From: trunglt251292 Date: Wed, 30 Mar 2022 19:17:14 +0700 Subject: [PATCH] [Update] Config --- config.go | 5 +++++ natsio.go | 6 ++---- server_reqres.go | 6 +++++- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/config.go b/config.go index 295f751..898b767 100644 --- a/config.go +++ b/config.go @@ -1,5 +1,7 @@ package natsio +import "time" + // Config ... type Config struct { // Connect url @@ -13,6 +15,9 @@ type Config struct { // TLS config TLS *TLSConfig + + // RequestTimeout + RequestTimeout time.Duration } // TLSConfig ... diff --git a/natsio.go b/natsio.go index 120828f..5ccc45d 100644 --- a/natsio.go +++ b/natsio.go @@ -3,8 +3,6 @@ package natsio import ( "errors" "fmt" - "time" - "github.com/logrusorgru/aurora" "github.com/nats-io/nats.go" ) @@ -12,6 +10,7 @@ import ( // Server ... type Server struct { instance *nats.Conn + Config Config } // JetStream ... @@ -33,8 +32,6 @@ func Connect(cfg Config) error { // Connect options opts := make([]nats.Option, 0) - opts = append(opts, nats.Timeout(1*time.Minute)) - // Has authentication if cfg.User != "" { opts = append(opts, nats.UserInfo(cfg.User, cfg.Password)) @@ -56,6 +53,7 @@ func Connect(cfg Config) error { // Set client natsServer.instance = nc + natsServer.Config = cfg // Create jet stream context js, err := nc.JetStream(nats.PublishAsyncMaxPending(256)) diff --git a/server_reqres.go b/server_reqres.go index 303c954..6e227a8 100644 --- a/server_reqres.go +++ b/server_reqres.go @@ -13,7 +13,11 @@ const requestTimeout = 10 * time.Second // Request ... func (sv Server) Request(subject string, payload []byte) (*nats.Msg, error) { - return sv.instance.Request(subject, payload, requestTimeout) + timeout := requestTimeout + if sv.Config.RequestTimeout > 0 { + timeout = sv.Config.RequestTimeout + } + return sv.instance.Request(subject, payload, timeout) } // Reply ...