From dc765761b9bb6866635f06f754d28895507e711f Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期四, 06 六月 2024 16:26:40 +0800 Subject: [PATCH] 完善打印 --- service/resend.go | 52 ++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 42 insertions(+), 10 deletions(-) diff --git a/service/resend.go b/service/resend.go index fcf4be7..667b237 100644 --- a/service/resend.go +++ b/service/resend.go @@ -1,24 +1,56 @@ 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 - for _, c := range cacheItems { - if !util.SendData([]byte(c.Data), config.ForwardConf.SyncServer) { - logger.Warn("The data resend failed. retry count %d", c.Retry) - c.UpdateRetryCount() - } 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() + 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) + 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