From dd753957ef55cbb17dce17771fb17469f90088e6 Mon Sep 17 00:00:00 2001 From: panlei <2799247126@qq.com> Date: 星期六, 13 七月 2019 17:46:01 +0800 Subject: [PATCH] 定时器缓冲容错 --- ruleserver/ruleToformula.go | 16 +++++++++++----- ruleserver/timeTicker.go | 2 +- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go index 646f65a..8d56592 100644 --- a/ruleserver/ruleToformula.go +++ b/ruleserver/ruleToformula.go @@ -546,10 +546,16 @@ for k, timeEle := range TimeEleList { if strings.Contains(k, groupId) { if timeEle.AlarmFlag { - logger.Debug("------------------------------鏉�姝诲畾鏃跺櫒锛屾姤璀︽甯х姸鎬佹敼鍙樼殑鏁版嵁锛屾鏃剁殑璁℃暟鍣ㄧ殑鍊间负",timeEle.N) - flagTime = "12" - args.RuleResult["timeLabel"] = flagTime - delete(TimeEleList,k) + if timeEle.BufferFlag == 0 { + logger.Debug("------------------------------鏉�姝诲畾鏃跺櫒锛屾姤璀︽甯х姸鎬佹敼鍙樼殑鏁版嵁锛屾鏃剁殑璁℃暟鍣ㄧ殑鍊间负",timeEle.N) + flagTime = "12" + args.RuleResult["timeLabel"] = flagTime + delete(TimeEleList,k) + } else { + if timeEle.BufferFlag > 0 { + timeEle.BufferFlag-- + } + } } else { delete(TimeEleList,k) } @@ -885,7 +891,7 @@ if flag { timeLength, _ := strconv.Atoi(rule.SdkArgValue) - timeEle := TimeElement{N: timeLength, InitN: timeLength, AlarmFlag: false, CacheSdkData: ResultMsg{message,args.RuleResult}} // 鎵旇繘鍘讳竴涓畾鏃跺櫒鍏冪礌锛堝苟缂撳瓨褰撳墠鐢婚潰甯ф暟鎹級 + timeEle := TimeElement{N: timeLength, InitN: timeLength, AlarmFlag: false,BufferFlag:6, CacheSdkData: ResultMsg{message,args.RuleResult}} // 鎵旇繘鍘讳竴涓畾鏃跺櫒鍏冪礌锛堝苟缂撳瓨褰撳墠鐢婚潰甯ф暟鎹級 //TimeEleList = make(map[string]timeElement) TimeEleList[groupId+" "+rule.Id] = &timeEle // 瀹氭椂鍣ㄥ厓绱犱互鎽勫儚鏈篿d鎷兼帴鍖哄煙id涓洪敭 logger.Info("鍒涘缓浜嗚鏁板櫒骞朵笖璁℃暟鍣ㄩ泦鍚堜负锛�", TimeEleList) diff --git a/ruleserver/timeTicker.go b/ruleserver/timeTicker.go index c119195..6b95c31 100644 --- a/ruleserver/timeTicker.go +++ b/ruleserver/timeTicker.go @@ -15,7 +15,7 @@ type TimeElement struct { N int // 鎸夋椂闂翠緷娆¢�掑噺鐨勫綋鍓嶅�� InitN int // 璧嬪�煎悗灏变笉鍙樼殑鍒濆鍊� - BufferFlag int // 缂撳啿瀹归敊浣� 杩炵画甯alse鎵嶄负false + BufferFlag int // 缂撳啿瀹归敊浣� 杩炵画n甯alse鎵嶄负false AlarmFlag bool // 鎶ヨ鏍囧織浣� 瀹氭椂鍣ㄥ紑鍚悗绗竴娆℃姤璀︽椂浼氳缃负true 寰�鍚庡啀鏉ユ姤璀︿篃涓嶄細鎻掕繘ES CacheSdkData ResultMsg // 瀹氭椂鍣ㄧ殑缂撳瓨鏁版嵁 鎸佺画鏃堕棿绫荤殑寮�鍚畾鏃跺櫒鏃惰缂撳瓨涓�甯� GroupId string // 鑱斿姩瑙勫垯闇�瑕佽褰曚笅姝ゆ椂鐨勮鍒欑粍id -- Gitblit v1.8.0