(opts []nats.Option)
| 164 | } |
| 165 | |
| 166 | func setupConnOptions(opts []nats.Option) []nats.Option { |
| 167 | totalWait := 10 * time.Minute |
| 168 | reconnectDelay := time.Second |
| 169 | |
| 170 | opts = append(opts, nats.ReconnectWait(reconnectDelay)) |
| 171 | opts = append(opts, nats.MaxReconnects(int(totalWait/reconnectDelay))) |
| 172 | opts = append(opts, nats.DisconnectErrHandler(func(nc *nats.Conn, err error) { |
| 173 | if !nc.IsClosed() { |
| 174 | log.Printf("Disconnected due to: %s, will attempt reconnects for %.0fm", err, totalWait.Minutes()) |
| 175 | } |
| 176 | })) |
| 177 | opts = append(opts, nats.ReconnectHandler(func(nc *nats.Conn) { |
| 178 | log.Printf("Reconnected [%s]", nc.ConnectedUrl()) |
| 179 | })) |
| 180 | opts = append(opts, nats.ClosedHandler(func(nc *nats.Conn) { |
| 181 | if !nc.IsClosed() { |
| 182 | log.Fatal("Exiting: no servers available") |
| 183 | } else { |
| 184 | log.Fatal("Exiting") |
| 185 | } |
| 186 | })) |
| 187 | return opts |
| 188 | } |
| 189 | |
| 190 | // We only want region, country |
| 191 | type geo struct { |
no test coverage detected