| | |
| | | |
| | | import ( |
| | | "fmt" |
| | | "log" |
| | | "os" |
| | | "ruleprocess/logger" |
| | | "time" |
| | | ) |
| | | |
| | |
| | | } |
| | | |
| | | func TimeTicker() { |
| | | logger.Info("定时器执行了") |
| | | fmt.Println("定时器执行了") |
| | | ticker := time.NewTicker(1 * time.Second) |
| | | go func(ticker *time.Ticker) { |
| | |
| | | for { |
| | | select { |
| | | case <-ticker.C: |
| | | logger.Info("定时器执行单元") |
| | | fmt.Println("定时器执行单元") |
| | | // 每秒钟计数器池子里所有的计数器元素都减一,减到0的是该报警的 |
| | | for _, timeEle := range TimeEleList { |
| | | if timeEle.N > 0 { |
| | | timeEle.N = timeEle.N - 1 |
| | | log.Println("打印定时器元素当前值:",timeEle.N) |
| | | logger.Info("-------------------------------------打印定时器元素当前值-----------------------------------------:",timeEle.N) |
| | | } |
| | | } |
| | | case stop := <-stopChan: |
| | | if stop { |
| | | fmt.Println("定时器结束") |
| | | os.Exit(0) |
| | | logger.Info("定时器结束") |
| | | //os.Exit(0) |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | // 定时器单元 废弃版本 |
| | | // func TimeTicker() chan bool { |
| | | // fmt.Println("执行了timeTicker") |
| | | // logger.Info("执行了timeTicker") |
| | | // ticker := time.NewTicker(1 * time.Second) |
| | | // stopChan := make(chan bool) |
| | | // go func(ticker *time.Ticker) { |
| | |
| | | // for { |
| | | // select { |
| | | // case <-ticker.C: |
| | | // //fmt.Println("执行单元", "计数器集合2", TimeEleList) |
| | | // //logger.Info("执行单元", "计数器集合2", TimeEleList) |
| | | // for k, timeEle := range TimeEleList { |
| | | // timeEle.n = timeEle.n - 1 |
| | | // //fmt.Println("遍历的数值", TimeEleList) |
| | | // //logger.Info("遍历的数值", TimeEleList) |
| | | // if timeEle.n == 0 { |
| | | // // do something alarm |
| | | // alarm(k, timeEle) |
| | |
| | | // } |
| | | // case stop := <-stopChan: |
| | | // if stop { |
| | | // fmt.Println("定时器结束") |
| | | // logger.Info("定时器结束") |
| | | // return |
| | | // } |
| | | // } |