mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-05 00:43:58 +08:00
retries for connecting to broker
This commit is contained in:
12
mq/mq.go
12
mq/mq.go
@@ -156,9 +156,17 @@ func SetupMQTT() mqtt.Client {
|
||||
opts := mqtt.NewClientOptions()
|
||||
broker := servercfg.GetMessageQueueEndpoint()
|
||||
opts.AddBroker(broker)
|
||||
client := mqtt.NewClient(opts)
|
||||
tperiod := time.Now().Add(10 * time.Second)
|
||||
for {
|
||||
if token := client.Connect(); token.Wait() && token.Error() != nil {
|
||||
log.Fatal(token.Error())
|
||||
logger.Log(2, "unable to connect to broker, retrying ...")
|
||||
if time.Now().Afer(tperiod) {
|
||||
log.Fatal(0, "could not connect to broker, exiting ...", token.Error())
|
||||
}
|
||||
} else {
|
||||
break
|
||||
}
|
||||
time.Sleep(2 * time.Second)
|
||||
}
|
||||
logger.Log(2, "connected to message queue", broker)
|
||||
return client
|
||||
|
@@ -13,6 +13,7 @@ import (
|
||||
"time"
|
||||
|
||||
mqtt "github.com/eclipse/paho.mqtt.golang"
|
||||
"github.com/gravitl/netmaker/logger"
|
||||
"github.com/gravitl/netmaker/models"
|
||||
"github.com/gravitl/netmaker/netclient/config"
|
||||
"github.com/gravitl/netmaker/netclient/local"
|
||||
@@ -70,8 +71,17 @@ func SetupMQTT(cfg *config.ClientConfig) mqtt.Client {
|
||||
}
|
||||
opts.SetDefaultPublishHandler(All)
|
||||
client := mqtt.NewClient(opts)
|
||||
tperiod := time.Now().Add(10 * time.Second)
|
||||
for {
|
||||
if token := client.Connect(); token.Wait() && token.Error() != nil {
|
||||
log.Fatal(token.Error())
|
||||
logger.Log(2, "unable to connect to broker, retrying ...")
|
||||
if time.Now().Afer(tperiod) {
|
||||
log.Fatal(0, "could not connect to broker, exiting ...", token.Error())
|
||||
}
|
||||
} else {
|
||||
break
|
||||
}
|
||||
time.Sleep(2 * time.Second)
|
||||
}
|
||||
return client
|
||||
}
|
||||
|
Reference in New Issue
Block a user