From e9e0c1f3abf1bbf83ebdb933d318caa2a45c15b0 Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期六, 30 三月 2024 17:14:11 +0800 Subject: [PATCH] 调整代码结构, 精简比对过程 --- main.go | 112 ++++++++++++++++++++++++++------------------------------ 1 files changed, 52 insertions(+), 60 deletions(-) diff --git a/main.go b/main.go index 7ea4ffb..52ccec1 100644 --- a/main.go +++ b/main.go @@ -3,15 +3,15 @@ import ( "context" "flag" - "os" "path" - "path/filepath" - "sdkCompare/proto/facecompare" "strconv" "time" "sdkCompare/cache" + "sdkCompare/compare" "sdkCompare/config" + "sdkCompare/db" + "sdkCompare/proto/facecompare" "basic.com/pubsub/protomsg.git" "basic.com/valib/logger.git" @@ -23,36 +23,27 @@ "nanomsg.org/go-mangos/transport/tcp" ) -var ( - envirment string - procName string - targetType1 string -) +const procName = "faceCompare" func init() { - flag.StringVar(&envirment, "e", "config", "") - - flag.StringVar(&targetType1, "targetType1", "FaceDetect", "cache feature") - flag.Parse() vaversion.Usage() +} - config.Init(envirment) +func main() { + err := config.Init() + if err != nil { + return + } - procName = filepath.Base(os.Args[0]) - var logFile = path.Join(config.LogConf.Path, procName+".log") + var logFile = path.Join(config.LogConf.Path, "faceCompare.log") // 鏃ュ織鍒濆鍖� logger.InitLogger(logFile, config.LogConf.Level, config.LogConf.MaxSize, config.LogConf.MaxBackups, config.LogConf.MaxAge) logger.Info("logger init success !") -} - -func main() { - //esutil.InitLog(logger.Debug) - logger.Debug("This is a new server about sdk compare, proc name ", procName) serveUrl := "tcp://0.0.0.0:" - if err := cache.ConnectDB(); err != nil { + if err := db.ConnectDB(); err != nil { logger.Error(err.Error()) return } @@ -60,7 +51,7 @@ cache.InitDbTablePersons() serveUrl = serveUrl + strconv.Itoa(config.DbPersonCompInfo.ServePort) - logger.Debugf("%s serve url:%s", procName, serveUrl) + logger.Infof("%s serve url:%s", procName, serveUrl) Recv(serveUrl) } @@ -73,6 +64,7 @@ if sock, err = rep.NewSocket(); err != nil { logger.Error("new rep socket err:", err) } + sock.AddTransport(ipc.NewTransport()) sock.AddTransport(tcp.NewTransport()) if err = sock.Listen(url); err != nil { @@ -82,54 +74,54 @@ for { select { case <-ctx.Done(): - logger.Debug("ctx done") + logger.Info("ctx done") return default: msg, err = sock.Recv() - if err != nil { + if err != nil || len(msg) <= 0 { continue } - if len(msg) > 0 { - var compareType facecompare.CompareRequest - err = proto.Unmarshal(msg, &compareType) - if err != nil { - logger.Error("compareType json unmarshal error") + var request facecompare.CompareRequest + err = proto.Unmarshal(msg, &request) + if err != nil { + logger.Warn("CompareRequest json unmarshal error") + continue + } + + var result []byte + if request.CompareType == facecompare.CompareType_Compare { + var compareArgInfo protomsg.CompareArgs + var cacheChangeInfo protomsg.EsPersonCacheChange + if err = proto.Unmarshal(request.Payload, &compareArgInfo); err == nil { + timeStart := time.Now() + result = compare.GetComparePersonBaseInfo(compareArgInfo) + logger.Debug("鐢ㄦ椂锛�", time.Since(timeStart)) + } else if err = proto.Unmarshal(request.Payload, &cacheChangeInfo); err == nil { + cache.UpdateCache(&cacheChangeInfo) + } else { + logger.Warn("CompareArgs or EsPersonCacheChange json unmarshal error") continue } - var result []byte - if compareType.CompareType == facecompare.CompareType_Compare { - var compareArgInfo protomsg.CompareArgs - var cacheChangeInfo protomsg.EsPersonCacheChange - if err = proto.Unmarshal(compareType.Payload, &compareArgInfo); err == nil { - timeStart := time.Now() - result = cache.GetComparePersonBaseInfo(compareArgInfo) - logger.Debug("鐢ㄦ椂锛�", time.Since(timeStart)) - } else if err = proto.Unmarshal(compareType.Payload, &cacheChangeInfo); err == nil { - cache.UpdateCache(&cacheChangeInfo) - } else { - logger.Error("CompareArgs or EsPersonCacheChange json unmarshal error") - continue + } else if request.CompareType == facecompare.CompareType_UpdateCache { + var compareEvent protomsg.CompareEvent + if err = proto.Unmarshal(request.Payload, &compareEvent); err == nil { + if compareEvent.EventType == protomsg.CompareEventType_ReInitCache { //鍔犲叆闆嗙兢鍚庨噸鏂板垵濮嬪寲缂撳瓨 + cache.ReInitDbTablePersonsCache() + } else if compareEvent.EventType == protomsg.CompareEventType_UpdateCache { //搴撲腑鏂板鏇存柊缂撳瓨 + id := string(compareEvent.Payload) + cache.UpdateDbPersonsCacheById(id) + logger.Info("--------------鏇存柊浜哄憳缂撳瓨, id: ", id) } - } else if compareType.CompareType == facecompare.CompareType_UpdateCache { - var compareEvent protomsg.CompareEvent - if err = proto.Unmarshal(compareType.Payload, &compareEvent); err == nil { - if compareEvent.EventType == protomsg.CompareEventType_ReInitCache { //鍔犲叆闆嗙兢鍚庨噸鏂板垵濮嬪寲缂撳瓨 - cache.ReInitDbTablePersonsCache() - } else if compareEvent.EventType == protomsg.CompareEventType_UpdateCache { //搴撲腑鏂板鏇存柊缂撳瓨 - id := string(compareEvent.Payload) - cache.UpdateDbPersonsCacheById(id) - logger.Debug("--------------鏇存柊浜哄憳缂撳瓨, id: ", id) - } - } else { - logger.Error("CompareEvent json unmarshal error") - continue - } + } else { + logger.Warn("CompareEvent json unmarshal error") + continue } - err = sock.Send(result) - if err != nil { - logger.Error("send reply err:", err.Error()) - } + } + + err = sock.Send(result) + if err != nil { + logger.Warn("send reply err:", err.Error()) } } } -- Gitblit v1.8.0