From a61cd237d45c7bec7a3e0cdf32ed33c49b41b73b Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期一, 16 十二月 2019 17:41:12 +0800
Subject: [PATCH] update

---
 sdk/sdk.go |   75 ++++++++++++++++++++++++++++---------
 1 files changed, 57 insertions(+), 18 deletions(-)

diff --git a/sdk/sdk.go b/sdk/sdk.go
index 0941757..88c0445 100644
--- a/sdk/sdk.go
+++ b/sdk/sdk.go
@@ -21,6 +21,25 @@
 
 var shm bool = false
 
+var innerRecvTopic = []string{
+	"facedetect-sdk-no-track", //to sdk-no-track 浠ュ浘鎼滃浘
+}
+
+var innerSendTopic = []string{
+	"facedetect-sdk-no-track",      //to sdk-no-track 浠ュ浘鎼滃浘
+	"virtual-faceextract-sdk-pull", //to web 浠ュ浘鎼滃浘
+}
+
+func initInnerTopic() {
+	// for _, sendTopic := range innerSendTopic {
+	// 	createSdkSendServerAndListen(sendTopic)
+	// }
+
+	// for _, recvTopic := range innerRecvTopic {
+	// 	createSdkRecvServerAndListen(recvTopic)
+	// }
+}
+
 func Init(useShm bool) {
 
 	shm = useShm
@@ -28,7 +47,16 @@
 	logger.Info("============= init sdk info =====================")
 	for _, sdkid := range util.Sdklist { // 鍒涘缓sdk server
 		createSdkTopicAndServer(sdkid)
+		logger.Info()
 	}
+
+	// 鎵嬪姩杈撳叆鐨勪富棰�
+	initInnerTopic()
+
+	// es
+	SdkMap["es"] = make(chan protomsg.SdkMessage)
+	logger.Info("create es channel: ")
+	go DealEsTopic()
 
 	go autoUpdateSdk(util.Sdkflag)
 }
@@ -55,6 +83,7 @@
 func createSdkSendServerAndListen(id string) {
 	if _, isExist := SdkMap[id]; !isExist { //涓嶅瓨鍦�
 		SdkMap[id] = make(chan protomsg.SdkMessage)
+		logger.Info("create", id)
 	}
 
 	url := "ipc:///tmp/" + id + postPush + ".ipc"
@@ -64,15 +93,15 @@
 		url = id + postPush
 	}
 
+	logger.Info("SDK URL: ", url)
+
 	socket, err := util.NewSocketListen(int(m), url, shm)
 	if err != nil {
 		delete(SdkMap, id)
 		logger.Error(id, "create socket error!")
 		return
 	}
-
 	SocketManage[id] = socket
-	logger.Info("SDK URL Send: ", url)
 
 	go Send(id, socket, SdkMap[id])
 }
@@ -98,9 +127,7 @@
 		logger.Error(id, "create socket error!")
 		return
 	}
-
 	SocketManage[id] = socket
-	logger.Info("SDK URL Recv: ", url)
 
 	go Recv(socket)
 }
@@ -126,6 +153,14 @@
 		}
 
 		newSdkList := util.Sdklist
+
+		// 鎵嬪姩娣诲姞鐨勫叏閮ㄥ姞涓�
+		for _, sendTopic := range innerSendTopic {
+			newSdkList = append(newSdkList, sendTopic)
+		}
+		for _, recvTopic := range innerRecvTopic {
+			newSdkList = append(newSdkList, recvTopic)
+		}
 
 		sdkListUpdate := util.Difference(oldSdkList, newSdkList)
 		logger.Info(sdkListUpdate)
@@ -159,13 +194,13 @@
 func GetSdkSendTopic(sdkmsg protomsg.SdkMessage) (sendTopic string) {
 	if int(sdkmsg.Tasklab.Index) < len(sdkmsg.Tasklab.Sdkinfos) {
 		sendTopic = sdkmsg.Tasklab.Sdkinfos[sdkmsg.Tasklab.Index].Ipcid
-		// if "Yolo" != sdkmsg.Tasklab.Sdkinfos[sdkmsg.Tasklab.Index].Sdktype &&
-		// 	"FaceDetect" != sdkmsg.Tasklab.Sdkinfos[sdkmsg.Tasklab.Index].Sdktype &&
-		// 	"FaceCompare" != sdkmsg.Tasklab.Sdkinfos[sdkmsg.Tasklab.Index].Sdktype {
-		// 	//if sdkmsg.Tasklab.Sdkinfos[sdkmsg.Tasklab.Index].Sdktype == "" {
-		// 	logger.Info("----------Sdktype:yitusoutu")
-		// 	logger.Info("鍒嗗彂鐨勪富棰�:", sendTopic, "!Sdktype锛�", sdkmsg.Tasklab.Sdkinfos[sdkmsg.Tasklab.Index].Sdktype)
-		// }
+		if "Yolo" != sdkmsg.Tasklab.Sdkinfos[sdkmsg.Tasklab.Index].Sdktype &&
+			"FaceDetect" != sdkmsg.Tasklab.Sdkinfos[sdkmsg.Tasklab.Index].Sdktype &&
+			"FaceCompare" != sdkmsg.Tasklab.Sdkinfos[sdkmsg.Tasklab.Index].Sdktype {
+			//if sdkmsg.Tasklab.Sdkinfos[sdkmsg.Tasklab.Index].Sdktype == "" {
+			logger.Info("----------Sdktype:yitusoutu")
+			logger.Info("鍒嗗彂鐨勪富棰�:", sendTopic, "!Sdktype锛�", sdkmsg.Tasklab.Sdkinfos[sdkmsg.Tasklab.Index].Sdktype)
+		}
 	} else {
 		sendTopic = "es"
 	}
@@ -195,7 +230,7 @@
 					if tryCount > util.ShmMaxTryCount {
 						socket.Sock.Close()
 						socket, err = util.NewSocketListen(socket.Mode, socket.URL, socket.UseSHM)
-						// logger.Info("SDK SEND SHM TRY :", util.ShmMaxTryCount, " RESTART IT")
+						logger.Info("SDK SEND SHM TRY :", util.ShmMaxTryCount, " RESTART IT")
 						tryCount = 0
 						continue
 					}
@@ -203,7 +238,6 @@
 				}
 				continue
 			} else {
-
 				err = proto.Unmarshal(msg, &repsdkmsg)
 				if err != nil {
 					logger.Error("unmarshal error: ", err)
@@ -212,8 +246,10 @@
 				repsdkmsg.Tasklab.Index++
 				//璋冪敤璁$畻鍑芥暟锛� 鍒嗗彂缁欎笅涓�涓富棰�
 				nexttopic := GetSdkSendTopic(repsdkmsg)
+				if "facedetect-sdk-no-track" == nexttopic || "virtual-faceextract-sdk-pull" == nexttopic {
+					logger.Info("nexttopic:", nexttopic)
+				}
 				SdkMap[nexttopic] <- repsdkmsg
-				logger.Info("recv from URL: ", socket.URL, " success: ", len(msg), " send to: ", repsdkmsg)
 			}
 		}
 	}
@@ -239,6 +275,9 @@
 				}
 
 				if err := socket.Sock.Send(data); err != nil {
+					if "facedetect-sdk-no-track" == sdkid || "virtual-faceextract-sdk-pull" == sdkid {
+						logger.Error("failed send:sdkid=", sdkid)
+					}
 
 					// tryCount++
 					// socket = util.MaybeRestartSocket(socket, &tryCount)
@@ -247,7 +286,7 @@
 						if tryCount > util.ShmMaxTryCount {
 							socket.Sock.Close()
 							socket, err = util.NewSocketListen(socket.Mode, socket.URL, socket.UseSHM)
-							// logger.Info("SDK SEND SHM TRY :", util.ShmMaxTryCount, " RESTART IT")
+							logger.Info("SDK SEND SHM TRY :", util.ShmMaxTryCount, " RESTART IT")
 							tryCount = 0
 							continue
 						}
@@ -256,9 +295,9 @@
 
 					continue
 				}
-
-				logger.Info("send to sdk id: ", sdkid, " success: ", len(data))
-
+				if "facedetect-sdk-no-track" == sdkid || "virtual-faceextract-sdk-pull" == sdkid {
+					logger.Info(sdkid, " send success: ", len(data))
+				}
 			} else {
 				logger.Debug(sdkid, " 涓婚鍏抽棴, 鍏抽棴send()")
 				return

--
Gitblit v1.8.0