do checkin after mq is connected, publish metrics only when node is connected

This commit is contained in:
Abhishek Kondur 2022-10-05 21:21:34 +05:30
parent 77c901e4d9
commit fe5fd7fce9
2 changed files with 11 additions and 2 deletions

View file

@ -68,12 +68,14 @@ func Daemon() error {
cancel()
logger.Log(0, "shutting down netclient daemon")
wg.Wait()
mqclient.Disconnect(250)
logger.Log(0, "shutdown complete")
return nil
case <-reset:
logger.Log(0, "received reset")
cancel()
wg.Wait()
mqclient.Disconnect(250)
logger.Log(0, "restarting daemon")
cancel = startGoRoutines(&wg)
}
@ -109,7 +111,14 @@ func startGoRoutines(wg *sync.WaitGroup) context.CancelFunc {
}
}
wg.Add(1)
go Checkin(ctx, wg)
for {
if mqclient != nil && mqclient.IsConnected() {
go Checkin(ctx, wg)
break
}
time.Sleep(time.Second)
}
return cancel
}

View file

@ -107,7 +107,7 @@ func checkin() {
config.Write(&nodeCfg, nodeCfg.Network)
}
Hello(&nodeCfg)
if nodeCfg.Server.Is_EE {
if nodeCfg.Server.Is_EE && nodeCfg.Node.Connected == "yes" {
logger.Log(0, "collecting metrics for node", nodeCfg.Node.Name)
publishMetrics(&nodeCfg)
}