From 52830a58e2907f83e8f891728b8ba3080ca59fb1 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期三, 05 六月 2024 17:40:28 +0800
Subject: [PATCH] 修改切图的判断条件
---
service/resend.go | 67 +++++++++++++++++++--------------
1 files changed, 39 insertions(+), 28 deletions(-)
diff --git a/service/resend.go b/service/resend.go
index 4353c17..667b237 100644
--- a/service/resend.go
+++ b/service/resend.go
@@ -1,7 +1,7 @@
package service
import (
- "encoding/json"
+ "gat1400Exchange/client"
"gat1400Exchange/config"
"gat1400Exchange/models"
"gat1400Exchange/pkg/logger"
@@ -9,37 +9,48 @@
"gat1400Exchange/vo"
)
+var resendTaskRunning bool
+
func ResendImageData() {
+ if resendTaskRunning {
+ return
+ }
+ resendTaskRunning = true
+ defer func() { resendTaskRunning = false }()
+
var cacheMod models.Cache
- cacheItems, _ := cacheMod.FindAll()
+ total, _ := cacheMod.Count()
+ logger.Debug("Start resend task. cache len:%d", total)
- for _, c := range cacheItems {
- if !SendData([]byte(c.Data), config.ForwardConf.SyncServer) {
- logger.Warn("The data resend failed. retry count %d", c.Retry)
-
- c.Retry = c.Retry + 1
- c.Update()
- } else {
- c.Delete()
- logger.Debug("The data resend successful.")
+ 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.")
}
-}
-
-func SendData(payload []byte, url string) bool {
- body, err := util.HttpPost(url, nil, payload)
- if err != nil {
- logger.Error("Post request failure, url:%s, err:%s", err.Error())
- return false
- }
-
- var rsp vo.SyncServerResponse
- err = json.Unmarshal(body, &rsp)
- if err != nil {
- logger.Error("Can't parse response, url:%s, rsp: %v", url, body)
- return false
- }
-
- return rsp.Success
}
--
Gitblit v1.8.0