From 6f26cb4297ebaab4394e05e1a498e347ce290bb5 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期四, 22 八月 2024 19:36:28 +0800
Subject: [PATCH] 修复运行方向的bug
---
service/resend.go | 36 ++++++++++++++++++++++++++++++------
1 files changed, 30 insertions(+), 6 deletions(-)
diff --git a/service/resend.go b/service/resend.go
index 6342ce7..6961f45 100644
--- a/service/resend.go
+++ b/service/resend.go
@@ -9,18 +9,42 @@
"gat1400Exchange/vo"
)
-func ResendImageData() {
- var cacheMod models.Cache
- cacheItems, _ := cacheMod.FindAll()
- logger.Debug("Start resend task. cache len:%d", len(cacheItems))
+var resendTaskRunning bool
- for _, c := range cacheItems {
- if c.Type == "1400" {
+func ResendImageData() {
+ if resendTaskRunning {
+ return
+ }
+ resendTaskRunning = true
+ defer func() { resendTaskRunning = false }()
+
+ var cacheMod models.Cache
+ total, _ := cacheMod.Count()
+ if total == 0 {
+ return
+ }
+
+ logger.Info("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)
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()
--
Gitblit v1.8.0