fix
zhangqian
2023-11-01 6afbcd88bf9c2c14a16a7c01f6f2e269d4ea2883
crontask/cron_task.go
@@ -7,6 +7,7 @@
   "apsClient/nsq"
   "apsClient/pkg/ecode"
   "apsClient/pkg/logx"
   "apsClient/serf"
   "apsClient/service"
   "fmt"
   "github.com/go-co-op/gocron"
@@ -79,6 +80,9 @@
      s.Every(60).Seconds().Do(SyncProductionProgress) //同步生产数据
      s.Every(30).Seconds().Do(SyncTaskStatus)         //同步任务状态
   }
   s.Every(10).Seconds().Do(QueryClusterStatus) //查询集群节点数量
   s.StartAsync()
   return nil
}
@@ -103,6 +107,7 @@
   if err != nil {
      logx.Errorf("SyncTaskStatus get records err:%v", err)
   }
   syncOkIds := make([]uint, 0, len(records))
   for _, record := range records {
      msg := &common.MsgTaskStatusUpdate{
         WorkOrderId:  record.WorkOrderId,
@@ -115,6 +120,13 @@
      err = caller.Send(msg)
      if err != nil {
         logx.Errorf("sync task status send msg error:%v", err.Error())
      }
      syncOkIds = append(syncOkIds, record.ID)
   }
   if len(syncOkIds) > 0 {
      err = service.NewTaskService().RemoveTaskStatusSync(syncOkIds)
      if err != nil {
         logx.Errorf("sync task status delete sync ok records error:%v", err)
      }
   }
}
@@ -135,11 +147,18 @@
   caller := nsq.NewCaller(fmt.Sprintf(constvar.NsqTopicPullDataRequest, conf.Conf.NsqConf.NodeId), constvar.NsqTopicPullDataResponse)
   err := caller.Send(msg)
   if err != nil {
      logx.Errorf("send pull data msg error:%v", err.Error())
      logx.Errorf("send pull data msg error:%v, msg:%+v", err.Error(), msg)
   }
   caller = nsq.NewCaller(fmt.Sprintf(constvar.NsqTopicGetPlcAddress, conf.Conf.NsqConf.NodeId), "")
   err = caller.Send(common.RequestPlcAddress{DeviceId: conf.Conf.System.DeviceId})
   msg = &common.MsgPullDataRequest{DataType: common.PullDataTypeDevice}
   caller = nsq.NewCaller(fmt.Sprintf(constvar.NsqTopicPullDataRequest, conf.Conf.NsqConf.NodeId), constvar.NsqTopicPullDataResponse)
   err = caller.Send(msg)
   if err != nil {
      logx.Infof("get plc address err: %v", err.Error())
      logx.Errorf("send pull data msg error:%v, msg:%+v", err.Error(), msg)
   }
}
func QueryClusterStatus() {
   clusterStatus, nodeQuantity := serf.QueryClusterStatusAndNodeQuantity()
   conf.Conf.SerfClusterStatus = clusterStatus
   conf.Conf.ClusterNodeQuantity = nodeQuantity
}