refactor(config): 统一使用应用服务器时间
- 删除 dao.Now(),不再额外执行 SELECT NOW(3) - 配置写入、历史记录和增量游标全部使用 time.Now() - 移除数据库时间获取失败的错误分支
This commit is contained in:
@@ -96,13 +96,8 @@ func (h *ConfigApiHandler) FetchAllConfigs(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
// 游标上界取查询前的数据库时间,保证查询期间发生的更新会在下次增量中返回
|
||||
upperBound, err := dao.Now()
|
||||
if err != nil {
|
||||
logger.SugaredLogger.Errorf("[FetchAllConfigs] get database time error: %v", err)
|
||||
c.JSON(http.StatusInternalServerError, model.WrapperResponse{Code: 500, Msg: "服务暂时不可用"})
|
||||
return
|
||||
}
|
||||
// 游标上界取查询前的当前时间,保证查询期间发生的更新会在下次增量中返回
|
||||
upperBound := time.Now()
|
||||
|
||||
result := make(map[string]interface{})
|
||||
var configIds []int
|
||||
@@ -195,14 +190,8 @@ func (h *ConfigApiHandler) FetchChangedConfigs(c *gin.Context) {
|
||||
|
||||
lastUpdateTime := time.UnixMilli(req.LastTime)
|
||||
|
||||
// 以数据库时间为本次查询的固定上界,避免查询与游标生成之间的竞态,
|
||||
// 同时避免多实例应用服务器的时钟偏差。
|
||||
upperBound, err := dao.Now()
|
||||
if err != nil {
|
||||
logger.SugaredLogger.Errorf("[FetchChangedConfigs] get database time error: %v", err)
|
||||
c.JSON(http.StatusInternalServerError, model.WrapperResponse{Code: 500, Msg: "服务暂时不可用"})
|
||||
return
|
||||
}
|
||||
// 以当前时间为本次查询的固定上界,避免查询与游标生成之间的竞态
|
||||
upperBound := time.Now()
|
||||
|
||||
result := make(map[string]string)
|
||||
var configIds []int
|
||||
|
||||
Reference in New Issue
Block a user