| | |
| | | } |
| | | |
| | | func TimeTicker() { |
| | | //logger.Info("定时器执行了") |
| | | //fmt.Println("定时器执行了") |
| | | ticker := time.NewTicker(1 * time.Second) |
| | | go func(ticker *time.Ticker) { |
| | | defer ticker.Stop() |
| | |
| | | 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 |
| | |
| | | delete(TimeEleList, k) |
| | | } |
| | | } |
| | | rw.Unlock() |
| | | case stop := <-stopChan: |
| | | if stop { |
| | | logger.Info("定时器结束") |
| | |
| | | var flagTime string // |
| | | // 判断有无此规则组的定时器 |
| | | flag := false |
| | | rw.Lock() |
| | | for k, _ := range TimeEleList { |
| | | //logger.Debug("-----------------看看这个key和groupId", k, groupId) |
| | | if strings.Contains(k, groupId) && k != groupId{ |
| | |
| | | delete(TimeEleList, k) |
| | | } else { |
| | | if timeEle.BufferFlag > 0 { |
| | | logger.Debug("缓冲区减减") |
| | | timeEle.BufferFlag-- |
| | | } |
| | | } |
| | | } else { |
| | | logger.Debug("-----------结果为假且不到0,杀死定时器") |
| | | delete(TimeEleList, k) |
| | | } |
| | | } |
| | |
| | | flagTime = "00" |
| | | } |
| | | } |
| | | rw.Unlock() |
| | | return flagTime |
| | | } |
| | | |