From f946512f64f1e2e9aa887f62f04f8ebedb53d810 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期三, 22 五月 2024 15:20:21 +0800
Subject: [PATCH] 优化重传, 修改为每次读取一条记录

---
 models/cache.go   |   13 +++++++++++++
 service/resend.go |   12 +++++++++---
 2 files changed, 22 insertions(+), 3 deletions(-)

diff --git a/models/cache.go b/models/cache.go
index 5aea0ef..5c0dd44 100644
--- a/models/cache.go
+++ b/models/cache.go
@@ -12,6 +12,10 @@
 	return "caches"
 }
 
+func (c *Cache) First() error {
+	return db.Table(c.TableName()).First(c).Error
+}
+
 func (c *Cache) FindAll() ([]Cache, error) {
 	var caches []Cache
 	if err := db.Table(c.TableName()).Find(&caches).Error; err != nil {
@@ -21,6 +25,15 @@
 	return caches, nil
 }
 
+func (c *Cache) Count() (int64, error) {
+	var total int64
+	if err := db.Table(c.TableName()).Count(&total).Error; err != nil {
+		return total, err
+	}
+
+	return total, nil
+}
+
 func (c *Cache) Save() error {
 	return db.Table(c.TableName()).Save(c).Error
 }
diff --git a/service/resend.go b/service/resend.go
index 6342ce7..8a55728 100644
--- a/service/resend.go
+++ b/service/resend.go
@@ -11,10 +11,16 @@
 
 func ResendImageData() {
 	var cacheMod models.Cache
-	cacheItems, _ := cacheMod.FindAll()
-	logger.Debug("Start resend task. cache len:%d", len(cacheItems))
+	total, _ := cacheMod.Count()
+	logger.Debug("Start resend task. cache len:%d", total)
 
-	for _, c := range cacheItems {
+	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" {
 			if client.FaceCapture([]byte(c.Data)) != vo.StatusSuccess {
 				c.UpdateRetryCount()

--
Gitblit v1.8.0