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