From ca9e545d6fcc86e751e768f57d823704e9ad1340 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期二, 16 四月 2024 16:07:50 +0800
Subject: [PATCH] 修复更新重试次数
---
config/config.go | 5 +++++
models/cache.go | 2 +-
service/resend.go | 2 +-
cron/cron.go | 2 +-
4 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/config/config.go b/config/config.go
index 87dbe60..0aa97b4 100644
--- a/config/config.go
+++ b/config/config.go
@@ -27,6 +27,7 @@
SyncServer string `mapstructure:"sync-server"`
ReportServer string `mapstructure:"report-server"`
ReportInterval int `mapstructure:"report-interval"`
+ RetryInterval int `mapstructure:"retry-interval"`
}
type rateLimitConfig struct {
@@ -73,5 +74,9 @@
ForwardConf.ReportInterval = 10
}
+ if ForwardConf.RetryInterval == 0 {
+ ForwardConf.RetryInterval = 5
+ }
+
logger.SetLogLevel(LogConf.Level)
}
diff --git a/cron/cron.go b/cron/cron.go
index 89ad59f..9c7f4b9 100644
--- a/cron/cron.go
+++ b/cron/cron.go
@@ -14,7 +14,7 @@
}
func Init() {
- s.Every(10).Minutes().StartImmediately().Do(service.ResendImageData)
+ s.Every(config.ForwardConf.RetryInterval).Minutes().StartImmediately().Do(service.ResendImageData)
s.Every(config.ForwardConf.ReportInterval).Second().StartImmediately().Do(service.DeviceInfoReportTask)
s.StartAsync()
diff --git a/models/cache.go b/models/cache.go
index c8bf18d..54becc2 100644
--- a/models/cache.go
+++ b/models/cache.go
@@ -25,7 +25,7 @@
}
func (c *Cache) UpdateRetryCount() error {
- return db.Table(c.TableName()).Update("retry", c.Retry+1).Where("id = ?", c.Id).Error
+ return db.Table(c.TableName()).Where("id = ?", c.Id).Update("retry", c.Retry+1).Error
}
func (c *Cache) Delete() error {
diff --git a/service/resend.go b/service/resend.go
index fcf4be7..ca9e837 100644
--- a/service/resend.go
+++ b/service/resend.go
@@ -13,8 +13,8 @@
for _, c := range cacheItems {
if !util.SendData([]byte(c.Data), config.ForwardConf.SyncServer) {
- logger.Warn("The data resend failed. retry count %d", c.Retry)
c.UpdateRetryCount()
+ logger.Warn("The data resend failed. retry count %d", c.Retry+1)
} else {
c.Delete()
logger.Debug("The data resend successful.")
--
Gitblit v1.8.0