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