From c69f721df41c9c7c1e2e9a5f167c881c04536986 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期一, 03 六月 2024 19:44:30 +0800
Subject: [PATCH] 添加人员订阅
---
service/resend.go | 35 +++++++++++++++++++++++++----------
1 files changed, 25 insertions(+), 10 deletions(-)
diff --git a/service/resend.go b/service/resend.go
index e56ffc1..667b237 100644
--- a/service/resend.go
+++ b/service/resend.go
@@ -9,28 +9,43 @@
"gat1400Exchange/vo"
)
-func ResendImageData() {
- var cacheMod models.Cache
- cacheItems, _ := cacheMod.FindAll()
+var resendTaskRunning bool
- logger.Debug("Start resend task. cache len:%d", len(cacheItems))
- if err := util.HttpGet(config.ForwardConf.SyncServer); err != nil {
- logger.Debug("The server cannot be reached. %s", err.Error())
+func ResendImageData() {
+ if resendTaskRunning {
return
}
+ resendTaskRunning = true
+ defer func() { resendTaskRunning = false }()
- for _, c := range cacheItems {
- if c.Type == "1400" {
+ var cacheMod models.Cache
+ total, _ := cacheMod.Count()
+ logger.Debug("Start resend task. cache len:%d", total)
+
+ for i := 0; i < int(total); i++ {
+ var c models.Cache
+ err := c.First()
+ if err != nil {
+ logger.Error(err.Error())
+ return
+ }
+ if c.Type == "1400-face" {
if client.FaceCapture([]byte(c.Data)) != vo.StatusSuccess {
c.UpdateRetryCount()
logger.Warn("The data resend failed. retry count %d", c.Retry+1)
- continue
+ return
+ }
+ } else if c.Type == "1400-person" {
+ if client.PersonCapture([]byte(c.Data)) != vo.StatusSuccess {
+ c.UpdateRetryCount()
+ logger.Warn("The data resend failed. retry count %d", c.Retry+1)
+ return
}
} else {
if !util.SendData([]byte(c.Data), config.ForwardConf.SyncServer) {
c.UpdateRetryCount()
logger.Warn("The data resend failed. retry count %d", c.Retry+1)
- continue
+ return
}
}
--
Gitblit v1.8.0