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