From cf5a63e3ba397649cb1cbf379f0ad6cd3c2a937e Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期日, 20 十月 2024 16:59:42 +0800
Subject: [PATCH] debug osd
---
service/resend.go | 57 ++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 46 insertions(+), 11 deletions(-)
diff --git a/service/resend.go b/service/resend.go
index c803c0d..6961f45 100644
--- a/service/resend.go
+++ b/service/resend.go
@@ -1,25 +1,60 @@
package service
import (
+ "gat1400Exchange/client"
"gat1400Exchange/config"
"gat1400Exchange/models"
"gat1400Exchange/pkg/logger"
"gat1400Exchange/util"
+ "gat1400Exchange/vo"
)
-func ResendImageData() {
- var cacheMod models.Cache
- cacheItems, _ := cacheMod.FindAll()
+var resendTaskRunning bool
- logger.Debug("Start resend task. cache len:%d", len(cacheItems))
- for _, c := range cacheItems {
- if !util.SendData([]byte(c.Data), config.ForwardConf.SyncServer) {
- c.UpdateRetryCount()
- logger.Warn("The data resend failed. retry count %d", c.Retry+1)
- } else {
- c.Delete()
- logger.Debug("The data resend successful.")
+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()
+ logger.Warn("The data resend failed. retry count %d", c.Retry+1)
+ return
+ }
+ }
+
+ c.Delete()
+ logger.Debug("The data resend successful.")
}
}
--
Gitblit v1.8.0