Browse Source

change order of operations

afeiszli 3 years ago
parent
commit
973c5b052e
2 changed files with 15 additions and 5 deletions
  1. 5 3
      controllers/node_grpc.go
  2. 10 2
      netclient/functions/daemon.go

+ 5 - 3
controllers/node_grpc.go

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

+ 10 - 2
netclient/functions/daemon.go

@@ -74,10 +74,18 @@ func SetupMQTT(cfg *config.ClientConfig) mqtt.Client {
 	}
 	opts.SetDefaultPublishHandler(All)
 	client := mqtt.NewClient(opts)
-	tperiod := time.Now().Add(10 * time.Second)
+	tperiod := time.Now().Add(12 * time.Second)
 	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 {
-			logger.Log(2, "unable to connect to broker, retrying ...")
+			logger.Log(1, "unable to connect to broker, retrying ...")
 			if time.Now().After(tperiod) {
 				log.Fatal(0, "could not connect to broker, exiting ...", token.Error())
 			}