From e583c3d63a64553efb95d46850fc6ee910805bc0 Mon Sep 17 00:00:00 2001 From: panlei <2799247126@qq.com> Date: 星期一, 16 十二月 2019 14:14:51 +0800 Subject: [PATCH] main 中初始化人员追踪 --- algorithm/personTrack/personTrack.go | 19 ++++++++++++------- main.go | 14 +++++++++++++- 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/algorithm/personTrack/personTrack.go b/algorithm/personTrack/personTrack.go index dbf4784..f42406f 100644 --- a/algorithm/personTrack/personTrack.go +++ b/algorithm/personTrack/personTrack.go @@ -28,10 +28,7 @@ // 浜轰綋璺熻釜绠楁硶 func Entrance(rule *protomsg.Rule, am *structure.AreaMap, lable *structure.Others, args *structure.SdkDatas, message *protomsg.SdkMessage) structure.LittleRuleResult { - logger.Info("缃綅绗﹀彿涓猴細",structure.InitFlag) - if !structure.InitFlag { - Init() - } + if rule.PolygonId == am.AreaId { // 棣栧厛杩欐潯瑙勫垯寰楁槸杩欎釜绠楁硶鐨勮鍒欙紝鍏舵瑙勫垯鎵�瀵瑰簲鐨勫尯鍩焛d瑕佽窡鍖哄煙鏁版嵁鐨刬d瀵圭殑涓� //logger.Debug("---------璧颁簡浜哄憳寮傚父绠楁硶", rule.Id, rule.SdkArgAlias, rule.Operator, rule.SdkArgValue, am.AreaId) if rule.SdkArgAlias == "score" || rule.SdkArgAlias == "proportion" || rule.SdkArgAlias == "size" || rule.SdkArgAlias == "" { // 鍒ゆ柇鐨勬槸鐩镐技鍊硷紝鍗犳瘮锛屽昂瀵哥瓑杩囨护鏉′欢锛屽鏋滃啀鏈夛紝杩樺彲浠ュ啀鍔� @@ -152,15 +149,23 @@ if errSize != nil { logger.Error("Failed set MaxRecvSize: %v", err) } + errTimeOut := sock.SetOption(mangos.OptionRecvDeadline,time.Millisecond * 1500) + if errTimeOut != nil { + logger.Error("鎺ユ敹鍝嶅簲瓒呮椂") + return + } + errTimeOut1 := sock.SetOption(mangos.OptionSendDeadline,time.Millisecond * 1500) + if errTimeOut1 != nil { + logger.Error("鍙戦�佽秴鏃�") + return + } //sock.AddTransport(ipc.NewTransport()) sock.AddTransport(tcp.NewTransport()) serverIP, _ := GetLocalIP() if err = sock.Dial("tcp://"+serverIP+":4012"); err != nil { logger.Error("璇锋眰socket鎷ㄥ彿澶辫触: %s", err.Error()) } - //logger.Info("搴忓垪鍖栨暟鎹�") - structure.InitFlag = true - logger.Info("缃綅initFlag:",structure.InitFlag) + for { select { case data := <- sender: diff --git a/main.go b/main.go index 7c8f61c..50af134 100644 --- a/main.go +++ b/main.go @@ -66,7 +66,7 @@ go ruleserver.TimeTicker() go ruleserver.StartServer() - + personTrackPush() nReciever("ipc:///tmp/sdk-2-rules-process.ipc", deliver.PushPull, 1) wg.Wait() @@ -126,4 +126,16 @@ mess := f.(func(msg []byte, args *structure.SdkDatas)(protomsg.SdkMessage))(msg,args) return mess } +// 鍚姩杩借釜鐨勮姹� +func personTrackPush(){ + p,err := plugin.Open("./algorithm/personTrack.so") + if err != nil { + panic(err) + } + f,err1 := p.Lookup("Push") + if err1 != nil { + panic("鍒濆鍖栦汉鍛樿拷韪殑鎺ㄩ�佸嚱鏁�") + } + go f.(func()())() +} -- Gitblit v1.8.0