outbox for gateways

This commit is contained in:
Stephan D
2026-02-18 01:35:28 +01:00
parent 974caf286c
commit 69531cee73
221 changed files with 12172 additions and 782 deletions

View File

@@ -114,6 +114,42 @@ func NewNatsBroker(logger mlogger.Logger, settings *nc.Settings) (*NatsBroker, e
nats.Name(settings.NATSName),
nats.MaxReconnects(settings.MaxReconnects),
nats.ReconnectWait(time.Duration(settings.ReconnectWait) * time.Second),
nats.RetryOnFailedConnect(true),
nats.DisconnectErrHandler(func(conn *nats.Conn, err error) {
fields := []zap.Field{
zap.String("broker", settings.NATSName),
}
if conn != nil {
fields = append(fields, zap.String("connected_url", conn.ConnectedUrl()))
}
if err != nil {
fields = append(fields, zap.Error(err))
}
l.Warn("Disconnected from NATS", fields...)
}),
nats.ReconnectHandler(func(conn *nats.Conn) {
fields := []zap.Field{
zap.String("broker", settings.NATSName),
}
if conn != nil {
fields = append(fields, zap.String("connected_url", conn.ConnectedUrl()))
}
l.Info("Reconnected to NATS", fields...)
}),
nats.ClosedHandler(func(conn *nats.Conn) {
fields := []zap.Field{
zap.String("broker", settings.NATSName),
}
if conn != nil {
if url := conn.ConnectedUrl(); url != "" {
fields = append(fields, zap.String("connected_url", url))
}
if err := conn.LastError(); err != nil {
fields = append(fields, zap.Error(err))
}
}
l.Warn("NATS connection closed", fields...)
}),
}
if cfg != nil {
opts = append(opts, nats.UserInfo(cfg.User, cfg.Password))