panlei
2019-11-07 5ae97eebd0dfcaad32e92f9df7b7f73caad922bf
ruleserver/timeTicker.go
@@ -34,7 +34,7 @@
func TimeTicker() {
   ticker := time.NewTicker(1 * time.Second)
   go func(ticker *time.Ticker) {
   //go func(ticker *time.Ticker) {
      defer ticker.Stop()
      for {
         select {
@@ -42,6 +42,7 @@
            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
@@ -52,6 +53,7 @@
                  delete(TimeEleList, k)
               }
            }
         rw.Unlock()
         case stop := <-stopChan:
            if stop {
               logger.Info("定时器结束")
@@ -60,7 +62,7 @@
            }
         }
      }
   }(ticker)
   //}(ticker)
}
func StopTimeTicker() {
   stopChan <- true
@@ -72,6 +74,7 @@
   var flagTime string //
   // 判断有无此规则组的定时器
   flag := false
   rw.Lock()
   for k, _ := range TimeEleList {
      //logger.Debug("-----------------看看这个key和groupId", k, groupId)
      if strings.Contains(k, groupId) && k != groupId{
@@ -133,6 +136,7 @@
         flagTime = "00"
      }
   }
   rw.Unlock()
   return flagTime
}