panlei
2019-11-07 0bd35e1e48e8e17c5eccfc92d706730619d5437f
定时器小改以及持续时间第一张画框
2个文件已修改
54 ■■■■ 已修改文件
insertdata/insertDataToEs.go 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruleserver/timeTicker.go 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
insertdata/insertDataToEs.go
@@ -368,6 +368,10 @@
                            }
                            i := protomsg.Image{}
                            err = proto.Unmarshal(bdata, &i)
                            logger.Debug("持续时间第一张画框:")
                            for _,res := range msg1.RuleResult["yolo"].([]structure.Result) {
                                logger.Debug("持续时间第一张规则:",res)
                            }
                            resp1, err1 := util.DrawPolygonOnImageForYolo(msg1.Cid, i, msg1.RuleResult["yolo"].([]structure.Result), weedfsUrl)
                            if err1 != nil {
                                logger.Error("缓存数据画框或上传图片服务器出错", err)
ruleserver/timeTicker.go
@@ -34,35 +34,35 @@
func TimeTicker() {
    ticker := time.NewTicker(1 * time.Second)
    go func(ticker *time.Ticker) {
        defer ticker.Stop()
        for {
            select {
            case <-ticker.C:
                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
                        logger.Error("-------------------------------------打印定时器计数元素当前值-----------------------------------------:", timeEle.N)
                    }
                    if timeEle.GroupId != "" && timeEle.N == 0 {
                        // 说明是联动任务的时间窗口 到点儿了该销毁了,再来了再创建
                        delete(TimeEleList, k)
                    }
    //go func(ticker *time.Ticker) {
    defer ticker.Stop()
    for {
        select {
        case <-ticker.C:
            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
                    logger.Error("-------------------------------------打印定时器计数元素当前值-----------------------------------------:", timeEle.N)
                }
                rw.Unlock()
            case stop := <-stopChan:
                if stop {
                    logger.Info("定时器结束")
                    return
                    //os.Exit(0)
                if timeEle.GroupId != "" && timeEle.N == 0 {
                    // 说明是联动任务的时间窗口 到点儿了该销毁了,再来了再创建
                    delete(TimeEleList, k)
                }
            }
            rw.Unlock()
        case stop := <-stopChan:
            if stop {
                logger.Info("定时器结束")
                return
                //os.Exit(0)
            }
        }
    }(ticker)
    }
    //}(ticker)
}
func StopTimeTicker() {
    stopChan <- true