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