panlei
2019-07-30 b149d73c29df3170af79d4d85da1be44692b3acc
联动任务缓存数据
2个文件已修改
15 ■■■■ 已修改文件
ruleserver/ruleToformula.go 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruleserver/timeTicker.go 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruleserver/ruleToformula.go
@@ -1,7 +1,6 @@
package ruleserver
import (
    "fmt"
    "os"
    "ruleprocess/cache"
    "ruleprocess/logger"
@@ -331,8 +330,8 @@
            }
        } else {
            // 结果为假时也要走,有时候为假的状态反转数据也需要记录下来
            timeFlag := TimerAlarm(args, groupRule.GroupId, result.(bool))
            fmt.Println(timeFlag)
            //timeFlag := TimerAlarm(args, groupRule.GroupId, result.(bool))
            //fmt.Println(timeFlag)
            return false
        }
    } else {
@@ -600,7 +599,7 @@
            // 先看看定时器元素队列中是否有这条规则的定时器,如果有就不能再次创建了
            var flag bool = true
            for k, _ := range TimeEleList {
                if k == rule.Id {
                if k == groupId+"+"+rule.Id {
                    flag = false // 有就置为false
                    logger.Info("有这个定时器,不再创建了:")
                }
@@ -610,8 +609,8 @@
                timeLength, _ := strconv.Atoi(rule.SdkArgValue)
                timeEle := TimeElement{N: timeLength, InitN: timeLength, AlarmFlag: false, BufferFlag: 10, CacheSdkData: ResultMsg{message, args.RuleResult}} // 扔进去一个定时器元素(并缓存当前画面帧数据)
                //TimeEleList = make(map[string]timeElement)
                TimeEleList[rule.Id] = &timeEle // 定时器元素以当前持续时间小规则id为键
                //logger.Info("创建了计数器并且计数器集合为:", TimeEleList)
                TimeEleList[groupId+"+"+rule.Id] = &timeEle // 定时器元素以当前持续时间小规则id为键
                logger.Info("创建了计数器")
            }
        }
    }
ruleserver/timeTicker.go
@@ -75,7 +75,7 @@
    flag := false
    for k, _ := range TimeEleList {
        //logger.Debug("-----------------看看这个key和groupId", k, groupId)
        if strings.Contains(k, groupId) {
        if strings.Contains(k, groupId) && k != groupId{
            flag = true
        }
    }
@@ -106,7 +106,7 @@
            }
        } else { // 结果为假
            for k, timeEle := range TimeEleList {
                if strings.Contains(k, groupId) {
                if strings.Contains(k, groupId) && k != groupId{
                    if timeEle.AlarmFlag {
                        if timeEle.BufferFlag == 0 {
                            logger.Debug("------------------------------杀死定时器,报警此帧状态改变的数据,此时的计数器的值为", timeEle.N)