From 94bc742bf1a76cb587d77c9058a1d53b485b18fe Mon Sep 17 00:00:00 2001
From: chenshijun <csj_sky@126.com>
Date: 星期一, 16 九月 2019 14:11:13 +0800
Subject: [PATCH] 修改配置文件处理参数
---
camera/camera.go | 59 ++++++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 46 insertions(+), 13 deletions(-)
diff --git a/camera/camera.go b/camera/camera.go
index 5329bae..06f464e 100644
--- a/camera/camera.go
+++ b/camera/camera.go
@@ -2,16 +2,11 @@
import (
"basic.com/valib/deliver.git"
- //"sync"
- "taskpubsub/logger"
-
+ "basic.com/valib/logger.git"
"basic.com/pubsub/protomsg.git"
"github.com/gogo/protobuf/proto"
"taskpubsub/sdk"
"taskpubsub/util"
-
- "fmt"
- //"time"
)
const (
@@ -20,6 +15,8 @@
)
var SocketManage = make(map[string]util.SocketContext)
+
+var shm bool = false
var innerRecvTopic = []string{
"virtual-faceextract-sdk-pull_2", //to web 浠ュ浘鎼滃浘
@@ -31,7 +28,9 @@
}
}
-func Init() {
+func Init(useShm bool) {
+ shm = useShm
+
logger.Info("============ camera info ====================")
for _, cd := range util.CameraIds {
logger.Info(cd)
@@ -53,8 +52,16 @@
func createCameraRecvServerAndListen(id string) {
if _, isExist := SocketManage[id]; !isExist { //涓嶅瓨鍦�
- url := fmt.Sprintf("ipc:///tmp/%s.ipc", id)
- socket, err := util.NewSocketListen(int(deliver.PushPull), url)
+ url := "ipc:///tmp/" + id + ".ipc"
+ m := deliver.PushPull
+ if shm {
+ m = deliver.Shm
+ url = id
+
+ }
+
+ logger.Info("CAMERA URL : ", url)
+ socket, err := util.NewSocketListen(int(m), url, shm)
if err != nil {
logger.Error("create socket error")
return
@@ -109,6 +116,8 @@
func Recv(socket util.SocketContext) {
+ tryCount := 0
+
var recvmessage []byte
var imagemsg protomsg.Image
var err error
@@ -120,6 +129,18 @@
default:
if recvmessage, err = socket.Sock.Recv(); err != nil {
//logger.Error("[camera] err is: ", err)
+
+ if socket.UseSHM {
+ if tryCount > util.SHMMaxTryCount {
+ socket, err = util.NewSocketListen(socket.Mode, socket.URL, socket.UseSHM)
+ logger.Info("CAMERA SHM TRY :", tryCount, " RESTART IT")
+
+ tryCount = 0
+
+ continue
+ }
+ tryCount++
+ }
continue
}
@@ -134,6 +155,7 @@
continue
}
if faceExtractWebCID == imagemsg.Cid { //浠ュ浘鎼滃浘
+ logger.Info("id: ", faceExtractWebTaskID)
doTaskList(imagemsg.Cid, "", faceExtractWebTaskID, recvmessage)
} else {
taskIDs := GetAllTaskByID(imagemsg.Cid)
@@ -151,6 +173,9 @@
for _, camsingle := range util.CameraTasks {
if cid == camsingle.Camera.Id {
for _, tasksingle := range camsingle.Tasks {
+ if !tasksingle.Enable {
+ continue
+ }
tasks = append(tasks, tasksingle.Taskid)
}
return
@@ -162,7 +187,7 @@
func doTaskList(cid string, caddr string, taskid string, data []byte) {
// 鏁版嵁鍔犲伐(鎵撴爣绛�)
- logger.Debug("taskid: ", taskid, "has ", len(data), "data[]byte")
+ //logger.Info("taskid: ", taskid, "has ", len(data), "data[]byte")
sdkmsg := sdk.ToSdkMsg(cid, caddr, taskid, data)
if sdkmsg.Tasklab == nil {
logger.Error(cid, " not have taskid: ", taskid)
@@ -171,11 +196,19 @@
// 璁$畻鍒嗗彂鐨勪富棰�
SendTopic := sdk.GetSdkSendTopic(sdkmsg)
- logger.Debug(SendTopic)
+ //logger.Info(SendTopic)
+ if "facedetect-sdk-no-track" == SendTopic || "virtual-faceextract-sdk-pull" == SendTopic {
+ logger.Info(SendTopic)
+ }
if _, ok := sdk.SdkMap[SendTopic]; ok {
+ if "facedetect-sdk-no-track" == SendTopic || "virtual-faceextract-sdk-pull" == SendTopic {
+ logger.Info(SendTopic)
+ }
sdk.SdkMap[SendTopic] <- sdkmsg
- logger.Debug("dispute sendtopic success", SendTopic)
+ if "facedetect-sdk-no-track" == SendTopic || "virtual-faceextract-sdk-pull" == SendTopic {
+ logger.Info("dispute sendtopic success", SendTopic)
+ }
} else {
- logger.Debug("鍒嗗彂鐨勪富棰樹笉瀛樺湪")
+ logger.Info("鍒嗗彂鐨勪富棰樹笉瀛樺湪")
}
}
--
Gitblit v1.8.0