From 7c1dd2e19119edd1ab147a699dfdcd11447fca14 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期四, 02 十一月 2023 21:20:53 +0800 Subject: [PATCH] serf集群master定时查询nsq连接状态并保存在数据库,增加网络检查器 --- crontask/cron_task.go | 27 ++++++++++++++++++++++++++- 1 files changed, 26 insertions(+), 1 deletions(-) diff --git a/crontask/cron_task.go b/crontask/cron_task.go index 42dc94b..de593c3 100644 --- a/crontask/cron_task.go +++ b/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) + } +} -- Gitblit v1.8.0