From d0a9b12580f2fa89db0b097fad5089f1900ddb26 Mon Sep 17 00:00:00 2001 From: panlei <2799247126@qq.com> Date: 星期四, 08 八月 2019 20:49:26 +0800 Subject: [PATCH] 测试多线程 --- main.go | 38 ++++++++++++++++++++++++++------------ 1 files changed, 26 insertions(+), 12 deletions(-) diff --git a/main.go b/main.go index ee552ea..67a887e 100644 --- a/main.go +++ b/main.go @@ -6,6 +6,7 @@ "basic.com/valib/deliver.git" "ruleprocess/insertdata" "ruleprocess/util" + "time" //"bufio" //"bytes" @@ -56,29 +57,42 @@ var msg []byte var err error - + msgChan := make(chan []byte,100) for { select { // case <-ctx.Done(): // return default: msg, err = c.Recv() + msgChan <- msg if err != nil { logger.Info("recv error : ", err) fmt.Println("recv error : ", err) continue } else { - arg := ruleserver.SdkDatas{} - //paramFormat(msg, &arg) - m := paramFormat(msg, &arg) - // 杩涜瑙勫垯澶勭悊鍒ゆ柇(鎵撲笂瑙勫垯鐨勬爣绛�) - ruleserver.Judge(&arg,&m) // 鎶妔dkMessage浼犺繘鍘伙紝鏂逛究缂撳瓨鏁版嵁鏃舵嫾鍑轰竴涓猺esultMag - // 鎶奱rg閲岀殑鎵撶殑鏍囩鎷垮嚭鏉ョ粰m鍐嶅皝瑁呬竴灞� - resultMsg := ruleserver.ResultMsg{SdkMessage: &m, RuleResult: arg.RuleResult} - // 灏嗘墦瀹屾爣绛剧殑鏁版嵁鎻掑叆鍒癊S - insertdata.InsertToEs(resultMsg) - //浜嬩欢鎺ㄩ�� - //go labelFilter.Judge(resultMsg) + wg := sync.WaitGroup{} + for msg := range msgChan { + wg.Add(1) + go func() { + logger.Debug("褰撳墠鏃堕棿鎴筹細",time.Now().Unix()) + arg := ruleserver.SdkDatas{} + //paramFormat(msg, &arg) + start := time.Now() + m := paramFormat(msg, &arg) + // 杩涜瑙勫垯澶勭悊鍒ゆ柇(鎵撲笂瑙勫垯鐨勬爣绛�) + ruleserver.Judge(&arg,&m) // 鎶妔dkMessage浼犺繘鍘伙紝鏂逛究缂撳瓨鏁版嵁鏃舵嫾鍑轰竴涓猺esultMag + // 鎶奱rg閲岀殑鎵撶殑鏍囩鎷垮嚭鏉ョ粰m鍐嶅皝瑁呬竴灞� + resultMsg := ruleserver.ResultMsg{SdkMessage: &m, RuleResult: arg.RuleResult} + logger.Debug("瑙勫垯鍒ゆ柇瀹屾墍鐢ㄦ椂闂达細",time.Since(start)) + // 灏嗘墦瀹屾爣绛剧殑鏁版嵁鎻掑叆鍒癊S + insertdata.InsertToEs(resultMsg) + logger.Debug("鎻掑叆瀹孍s鎵�鐢ㄦ椂闂达細",time.Since(start)) + //浜嬩欢鎺ㄩ�� + //go labelFilter.Judge(resultMsg) + wg.Done() + }() + } + wg.Wait() } } } -- Gitblit v1.8.0