From 6622f4a2288429d2868ec47d9cd968bace55b37d Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期四, 11 七月 2019 16:47:35 +0800
Subject: [PATCH] 修正报警区域,拆分代码
---
ruleserver/timeTicker.go | 64 ++++++++++---------------------
1 files changed, 21 insertions(+), 43 deletions(-)
diff --git a/ruleserver/timeTicker.go b/ruleserver/timeTicker.go
index 644a6a5..4b88b14 100644
--- a/ruleserver/timeTicker.go
+++ b/ruleserver/timeTicker.go
@@ -2,8 +2,7 @@
import (
"fmt"
- "log"
- "os"
+ "ruleprocess/logger"
"time"
)
@@ -14,13 +13,15 @@
// 瀹氭椂鍣ㄥ厓绱�
type TimeElement struct {
- N int // 鎸夋椂闂翠緷娆¢�掑噺鐨勫綋鍓嶅��
- InitN int // 璧嬪�煎悗灏变笉鍙樼殑鍒濆鍊�
- Data AreaMap //
- GroupId string // 鑱斿姩瑙勫垯闇�瑕佽褰曚笅姝ゆ椂鐨勮鍒欑粍id
- RuleResults []*RuleResult
+ N int // 鎸夋椂闂翠緷娆¢�掑噺鐨勫綋鍓嶅��
+ InitN int // 璧嬪�煎悗灏变笉鍙樼殑鍒濆鍊�
+ AlarmFlag bool // 鎶ヨ鏍囧織浣� 瀹氭椂鍣ㄥ紑鍚悗绗竴娆℃姤璀︽椂浼氳缃负true 寰�鍚庡啀鏉ユ姤璀︿篃涓嶄細鎻掕繘ES
+ CacheSdkData SdkDatas // 瀹氭椂鍣ㄧ殑缂撳瓨鏁版嵁 鎸佺画鏃堕棿绫荤殑寮�鍚畾鏃跺櫒鏃惰缂撳瓨涓�甯�
+ GroupId string // 鑱斿姩瑙勫垯闇�瑕佽褰曚笅姝ゆ椂鐨勮鍒欑粍id
+ RuleResults []*RuleResult
}
-type RuleResult struct { // 姣忎釜鎽勫儚鏈轰竴涓粨鏋勪綋
+type RuleResult struct {
+ // 姣忎釜鎽勫儚鏈轰竴涓粨鏋勪綋
CameraId string // 鎽勫儚鏈篿d
Sort int32 // 鎽勫儚鏈哄湪瑙勫垯缁勪腑搴忓彿
Result string // 鎽勫儚鏈鸿繃婊ゆ暟鎹緱鍑虹殑缁撴灉
@@ -28,6 +29,7 @@
}
func TimeTicker() {
+ logger.Info("瀹氭椂鍣ㄦ墽琛屼簡")
fmt.Println("瀹氭椂鍣ㄦ墽琛屼簡")
ticker := time.NewTicker(1 * time.Second)
go func(ticker *time.Ticker) {
@@ -35,18 +37,24 @@
for {
select {
case <-ticker.C:
- fmt.Println("瀹氭椂鍣ㄦ墽琛屽崟鍏�")
+ logger.Info("瀹氭椂鍣ㄦ墽琛屽崟鍏�", time.Now().Unix())
+ fmt.Println("瀹氭椂鍣ㄦ墽琛屽崟鍏�", time.Now().Unix())
// 姣忕閽熻鏁板櫒姹犲瓙閲屾墍鏈夌殑璁℃暟鍣ㄥ厓绱犻兘鍑忎竴锛屽噺鍒�0鐨勬槸璇ユ姤璀︾殑
- for _, timeEle := range TimeEleList {
+ for k, timeEle := range TimeEleList {
if timeEle.N > 0 {
timeEle.N = timeEle.N - 1
- log.Println("-------------------------------------鎵撳嵃瀹氭椂鍣ㄥ厓绱犲綋鍓嶅��-----------------------------------------锛�",timeEle.N)
+ logger.Info("-------------------------------------鎵撳嵃瀹氭椂鍣ㄥ厓绱犲綋鍓嶅��-----------------------------------------锛�", timeEle.N)
+ }
+ if timeEle.GroupId != "" && timeEle.N == 0{
+ // 璇存槑鏄仈鍔ㄤ换鍔$殑鏃堕棿绐楀彛 鍒扮偣鍎夸簡璇ラ攢姣佷簡,鍐嶆潵浜嗗啀鍒涘缓
+ delete(TimeEleList,k)
}
}
case stop := <-stopChan:
if stop {
- fmt.Println("瀹氭椂鍣ㄧ粨鏉�")
- os.Exit(0)
+ logger.Info("瀹氭椂鍣ㄧ粨鏉�")
+ return
+ //os.Exit(0)
}
}
}
@@ -57,35 +65,6 @@
TimeTicker()
}
-// 瀹氭椂鍣ㄥ崟鍏� 搴熷純鐗堟湰
-// func TimeTicker() chan bool {
-// fmt.Println("鎵ц浜唗imeTicker")
-// ticker := time.NewTicker(1 * time.Second)
-// stopChan := make(chan bool)
-// go func(ticker *time.Ticker) {
-// defer ticker.Stop()
-// for {
-// select {
-// case <-ticker.C:
-// //fmt.Println("鎵ц鍗曞厓", "璁℃暟鍣ㄩ泦鍚�2", TimeEleList)
-// for k, timeEle := range TimeEleList {
-// timeEle.n = timeEle.n - 1
-// //fmt.Println("閬嶅巻鐨勬暟鍊�", TimeEleList)
-// if timeEle.n == 0 {
-// // do something alarm
-// alarm(k, timeEle)
-// }
-// }
-// case stop := <-stopChan:
-// if stop {
-// fmt.Println("瀹氭椂鍣ㄧ粨鏉�")
-// return
-// }
-// }
-// }
-// }(ticker)
-// return stopChan
-// }
// 缁撴瀯浣撴牴鎹煇瀛楁鎺掑簭
type SubList []*RuleResult
@@ -100,4 +79,3 @@
func (p resultList) Swap(i, j int) { p[i], p[j] = p[j], p[i] }
func (p resultList) Len() int { return len(p) }
func (p resultList) Less(i, j int) bool { return p[i].Sort < p[j].Sort }
-
--
Gitblit v1.8.0