From 73e4d775a359b5490b5ebc1465f1b9d682a3bbe5 Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期四, 07 十一月 2019 19:56:09 +0800
Subject: [PATCH] Merge branch 'module' of http://192.168.5.5:10010/r/ruleprocess into module

---
 ruleserver/timeTicker.go |   56 ++++++++++++++++++++++++++++++--------------------------
 1 files changed, 30 insertions(+), 26 deletions(-)

diff --git a/ruleserver/timeTicker.go b/ruleserver/timeTicker.go
index abe6c4d..a572879 100644
--- a/ruleserver/timeTicker.go
+++ b/ruleserver/timeTicker.go
@@ -2,7 +2,7 @@
 
 import (
 	"fmt"
-	"ruleprocess/logger"
+	"basic.com/valib/logger.git"
 	"ruleprocess/structure"
 	"strings"
 	"time"
@@ -33,36 +33,36 @@
 }
 
 func TimeTicker() {
-	//logger.Info("瀹氭椂鍣ㄦ墽琛屼簡")
-	//fmt.Println("瀹氭椂鍣ㄦ墽琛屼簡")
 	ticker := time.NewTicker(1 * time.Second)
-	go func(ticker *time.Ticker) {
-		defer ticker.Stop()
-		for {
-			select {
-			case <-ticker.C:
-				logger.Info("瀹氭椂鍣ㄦ墽琛屽崟鍏�", time.Now().Unix())
-				fmt.Println("瀹氭椂鍣ㄦ墽琛屽崟鍏�", time.Now().Unix())
-				// 姣忕閽熻鏁板櫒姹犲瓙閲屾墍鏈夌殑璁℃暟鍣ㄥ厓绱犻兘鍑忎竴锛屽噺鍒�0鐨勬槸璇ユ姤璀︾殑
-				for k, timeEle := range TimeEleList {
-					if timeEle.N > 0 {
-						timeEle.N = timeEle.N - 1
-						logger.Error("-------------------------------------鎵撳嵃瀹氭椂鍣ㄨ鏁板厓绱犲綋鍓嶅��-----------------------------------------锛�", timeEle.N)
-					}
-					if timeEle.GroupId != "" && timeEle.N == 0 {
-						// 璇存槑鏄仈鍔ㄤ换鍔$殑鏃堕棿绐楀彛 鍒扮偣鍎夸簡璇ラ攢姣佷簡,鍐嶆潵浜嗗啀鍒涘缓
-						delete(TimeEleList, k)
-					}
+	//go func(ticker *time.Ticker) {
+	defer ticker.Stop()
+	for {
+		select {
+		case <-ticker.C:
+			logger.Info("瀹氭椂鍣ㄦ墽琛屽崟鍏�", time.Now().Unix())
+			fmt.Println("瀹氭椂鍣ㄦ墽琛屽崟鍏�", time.Now().Unix())
+			// 姣忕閽熻鏁板櫒姹犲瓙閲屾墍鏈夌殑璁℃暟鍣ㄥ厓绱犻兘鍑忎竴锛屽噺鍒�0鐨勬槸璇ユ姤璀︾殑
+			rw.Lock()
+			for k, timeEle := range TimeEleList {
+				if timeEle.N > 0 {
+					timeEle.N = timeEle.N - 1
+					logger.Error("-------------------------------------鎵撳嵃瀹氭椂鍣ㄨ鏁板厓绱犲綋鍓嶅��-----------------------------------------锛�", timeEle.N)
 				}
-			case stop := <-stopChan:
-				if stop {
-					logger.Info("瀹氭椂鍣ㄧ粨鏉�")
-					return
-					//os.Exit(0)
+				if timeEle.GroupId != "" && timeEle.N == 0 {
+					// 璇存槑鏄仈鍔ㄤ换鍔$殑鏃堕棿绐楀彛 鍒扮偣鍎夸簡璇ラ攢姣佷簡,鍐嶆潵浜嗗啀鍒涘缓
+					delete(TimeEleList, k)
 				}
 			}
+			rw.Unlock()
+		case stop := <-stopChan:
+			if stop {
+				logger.Info("瀹氭椂鍣ㄧ粨鏉�")
+				return
+				//os.Exit(0)
+			}
 		}
-	}(ticker)
+	}
+	//}(ticker)
 }
 func StopTimeTicker() {
 	stopChan <- true
@@ -74,6 +74,7 @@
 	var flagTime string //
 	// 鍒ゆ柇鏈夋棤姝よ鍒欑粍鐨勫畾鏃跺櫒
 	flag := false
+	rw.Lock()
 	for k, _ := range TimeEleList {
 		//logger.Debug("-----------------鐪嬬湅杩欎釜key鍜実roupId", k, groupId)
 		if strings.Contains(k, groupId) && k != groupId{
@@ -116,10 +117,12 @@
 							delete(TimeEleList, k)
 						} else {
 							if timeEle.BufferFlag > 0 {
+								logger.Debug("缂撳啿鍖哄噺鍑�")
 								timeEle.BufferFlag--
 							}
 						}
 					} else {
+						logger.Debug("-----------缁撴灉涓哄亣涓斾笉鍒�0锛屾潃姝诲畾鏃跺櫒")
 						delete(TimeEleList, k)
 					}
 				}
@@ -133,6 +136,7 @@
 			flagTime = "00"
 		}
 	}
+	rw.Unlock()
 	return flagTime
 }
 

--
Gitblit v1.8.0