commit bf54e40af8c50fc040cef1555e7a8fbfc91bec5a
parent 11b3993073836cde41eccd31206922b663789e5d
Author: Natasha Kerensikova <natgh@instinctive.eu>
Date: Thu, 25 Sep 2025 18:00:22 +0000
Retry-on-failed-connect connection option
Diffstat:
1 file changed, 5 insertions(+), 0 deletions(-)
diff --git a/natsbot.go b/natsbot.go
@@ -457,6 +457,7 @@ type natsConfig struct {
user string
password string
token string
+ retry bool
}
type natsConfigMap map[natsConfig]*nats.Conn
@@ -556,6 +557,9 @@ func toConfig(L *lua.LState, lv lua.LValue) (*natsConfig, natsCbMap, error) {
errStr = append(errStr, fmt.Sprintf("bad value for key %q: %q", skey, lua.LVAsString(value)))
}
+ case "retry":
+ result.retry = lua.LVAsBool(value)
+
default:
errStr = append(errStr, fmt.Sprintf("Unknown key %q", skey))
}
@@ -575,6 +579,7 @@ func newConn(evtChan chan *internalEvent, cfg *natsConfig) (*nats.Conn, error) {
nats.ReconnectErrHandler(newConnErrHandler(evtChan, "reconnect_error")),
nats.ClosedHandler(newConnHandler(evtChan, "closed")),
nats.ErrorHandler(newErrHandler(evtChan, "error")),
+ nats.RetryOnFailedConnect(cfg.retry),
}
if cfg.name != "" {