panlei
2019-10-31 4262cb8c6aa73dbe6c9cb598d91313d04d5433ef
事件推送加人体追踪
2个文件已修改
16 ■■■■■ 已修改文件
labelFilter/ruleForLabel.go 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
main.go 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
labelFilter/ruleForLabel.go
@@ -5,17 +5,31 @@
    "basic.com/pubsub/protomsg.git"
    "basic.com/valib/logger.git"
    "github.com/knetic/govaluate"
    "ruleprocess/ruleserver"
    "ruleprocess/structure"
    "strconv"
    "time"
)
func PushSomthing (msg structure.ResultMsg) {
    // 如果标签中含有持续时间首次报警的timeLabel的话则不需要过人体追踪,不然就没的插入了
    fk := ruleserver.TrackOrNot(msg.RuleResult)
    if fk {
        Judge(msg)
    } else {
        flag := ruleserver.BodyIsSame(msg.SdkMessage)
        if !flag {
            Judge(msg)
        }
    }
}
func Judge(msg structure.ResultMsg) {
    defer func() {
        if err := recover(); err != nil {
            logger.Error("事件推送模块儿的异常捕获:",err)
        }
    }()
    // 装配成自己可以识别的数据
    label := new(Label)
    label.DataFormatToLabel(msg)
main.go
@@ -108,7 +108,7 @@
                    insertdata.InsertToEs(resultMsg)
                    logger.Debug("插入完Es所用时间:", time.Since(start))
                    //事件推送
                    go labelFilter.Judge(resultMsg)
                    go labelFilter.PushSomthing(resultMsg)
                //}(msg)
            }
        }