change order of operations

This commit is contained in:
afeiszli
2022-01-31 21:28:34 -05:00
parent 86ba127b3b
commit 973c5b052e
2 changed files with 15 additions and 5 deletions

View File

@@ -30,6 +30,8 @@ func (s *NodeServiceServer) ReadNode(ctx context.Context, req *nodepb.Object) (*
if err != nil { if err != nil {
return nil, err return nil, err
} }
getServerAddrs(&node)
node.SetLastCheckIn() node.SetLastCheckIn()
// Cast to ReadNodeRes type // Cast to ReadNodeRes type
nodeData, errN := json.Marshal(&node) nodeData, errN := json.Marshal(&node)
@@ -118,8 +120,6 @@ func (s *NodeServiceServer) UpdateNode(ctx context.Context, req *nodepb.Object)
newnode.PostUp = node.PostUp newnode.PostUp = node.PostUp
} }
getServerAddrs(&node)
err = logic.UpdateNode(&node, &newnode) err = logic.UpdateNode(&node, &newnode)
if err != nil { if err != nil {
return nil, err return nil, err
@@ -128,12 +128,14 @@ func (s *NodeServiceServer) UpdateNode(ctx context.Context, req *nodepb.Object)
if err != nil { if err != nil {
return nil, err return nil, err
} }
getServerAddrs(&newnode)
nodeData, errN := json.Marshal(&newnode) nodeData, errN := json.Marshal(&newnode)
if errN != nil { if errN != nil {
return nil, err return nil, err
} }
runUpdates(&node, false) runUpdates(&newnode, false)
return &nodepb.Object{ return &nodepb.Object{
Data: string(nodeData), Data: string(nodeData),

View File

@@ -74,10 +74,18 @@ func SetupMQTT(cfg *config.ClientConfig) mqtt.Client {
} }
opts.SetDefaultPublishHandler(All) opts.SetDefaultPublishHandler(All)
client := mqtt.NewClient(opts) client := mqtt.NewClient(opts)
tperiod := time.Now().Add(10 * time.Second) tperiod := time.Now().Add(12 * time.Second)
for { for {
//if after 12 seconds, try a gRPC pull on the last try
if time.Now().After(tperiod) {
_, err := Pull(cfg.Node.Network, true)
if err != nil {
log.Fatal(0, "could not connect to broker, exiting ...", err.Error())
}
time.Sleep(2 * time.Second)
}
if token := client.Connect(); token.Wait() && token.Error() != nil { if token := client.Connect(); token.Wait() && token.Error() != nil {
logger.Log(2, "unable to connect to broker, retrying ...") logger.Log(1, "unable to connect to broker, retrying ...")
if time.Now().After(tperiod) { if time.Now().After(tperiod) {
log.Fatal(0, "could not connect to broker, exiting ...", token.Error()) log.Fatal(0, "could not connect to broker, exiting ...", token.Error())
} }