From 4ca3791590a7bf50222aa5f80e53edf04739108a Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期二, 22 十月 2024 17:20:23 +0800 Subject: [PATCH] fix 1400 post floor farmat --- service/resend.go | 39 +++++++++++++++++++++++++++++---------- 1 files changed, 29 insertions(+), 10 deletions(-) diff --git a/service/resend.go b/service/resend.go index e56ffc1..6961f45 100644 --- a/service/resend.go +++ b/service/resend.go @@ -9,28 +9,47 @@ "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 }() + + var cacheMod models.Cache + total, _ := cacheMod.Count() + if total == 0 { return } - for _, c := range cacheItems { - if c.Type == "1400" { + 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) - 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