zhangqian
2023-11-02 7c1dd2e19119edd1ab147a699dfdcd11447fca14
crontask/cron_task.go
@@ -3,6 +3,7 @@
import (
   "apsClient/conf"
   "apsClient/constvar"
   "apsClient/model"
   "apsClient/model/common"
   "apsClient/nsq"
   "apsClient/pkg/ecode"
@@ -80,9 +81,11 @@
   if isMaster {
      s.Every(60).Seconds().Do(SyncProductionProgress) //同步生产数据
      s.Every(30).Seconds().Do(SyncTaskStatus)         //同步任务状态
      s.Every(10).Seconds().Do(CheckNsqConn)           //查询nsq连接
   }
   s.Every(10).Seconds().Do(QueryClusterStatus) //查询集群节点数量
   s.Every(20).Seconds().Do(QueryClusterStatus) //查询集群节点数量
   s.Every(30).Seconds().Do(ProblemCheck)       //问题诊断
   s.StartAsync()
@@ -168,3 +171,25 @@
func ProblemCheck() {
   problem.Check()
}
func CheckNsqConn() {
   var err error
   var status constvar.SystemStatusValue
   if nsq.Ping() {
      status = constvar.SystemStatusValueNormal
   } else {
      status = constvar.SystemStatusValueUnNormal
   }
   old, err := model.NewSystemStatusSearch().SetKey(constvar.SystemStatusKeyNsq).First()
   if err != nil {
      logx.Errorf("get nsq status err:%v", err)
      return
   }
   if old.Value == status {
      return
   }
   err = model.NewSystemStatusSearch().SetKey(constvar.SystemStatusKeyNsq).Updates(map[string]interface{}{"value": status})
   if err != nil {
      logx.Errorf("update nsq status err:%v", err)
   }
}