zhangzengfei
2024-10-22 4ca3791590a7bf50222aa5f80e53edf04739108a
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
         }
      }