From 56f1c6f01920f20924114a946dabb851b6cb3f3f Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期一, 08 七月 2024 20:06:07 +0800
Subject: [PATCH] 修复并发处理

---
 serve/serve.go |   21 ++++++++++++---------
 1 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/serve/serve.go b/serve/serve.go
index 031c02c..0e4ccb1 100644
--- a/serve/serve.go
+++ b/serve/serve.go
@@ -24,16 +24,20 @@
 			logger.Infof("worker %d done", id)
 			return
 		default:
-			msg, err := sock.Recv()
-			if err != nil || len(msg) <= 0 {
-				continue
+			var msg *mangos.Message
+			var err error
+			if msg, err = sock.RecvMsg(); err != nil {
+				return
 			}
 
 			var request facecompare.CompareRequest
-			err = proto.Unmarshal(msg, &request)
+			err = proto.Unmarshal(msg.Body, &request)
 			if err != nil {
 				logger.Warn("CompareRequest json unmarshal error")
-				continue
+				if err = sock.SendMsg(msg); err != nil {
+					logger.Warn("send reply err:", err.Error())
+					continue
+				}
 			}
 
 			var result []byte
@@ -45,7 +49,6 @@
 					logger.Debug("鐢ㄦ椂锛�", time.Since(timeStart))
 				} else {
 					logger.Warn("CompareArgs or EsPersonCacheChange json unmarshal error")
-					continue
 				}
 			} else if request.CompareType == facecompare.CompareType_UpdateCache {
 				var compareEvent protomsg.CompareEvent
@@ -63,12 +66,12 @@
 					}
 				} else {
 					logger.Warn("CompareEvent json unmarshal error")
-					continue
 				}
 			}
 
-			err = sock.Send(result)
-			if err != nil {
+			msg.Body = result
+
+			if err = sock.SendMsg(msg); err != nil {
 				logger.Warn("send reply err:", err.Error())
 			}
 		}

--
Gitblit v1.8.0