fix: 修复轮询系统缓存不一致和可观测性问题
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Has been cancelled
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Has been cancelled
- OnCardStatusChanged/Enabled/Disabled 添加 InvalidateCardCache, 解决 Refresh API 更新 DB 后 polling 缓存仍为旧值的 bug - AssetResolveResponse 的 enable_polling/network_status 去掉 omitempty,解决 false/0 时字段从响应中消失的问题 - Scheduler/Initializer/PackageHandler 增加 INFO 级别日志, 可通过日志判断轮询是否工作、处理了哪些卡
This commit is contained in:
@@ -61,13 +61,19 @@ func (h *PollingPackageHandler) Handle(ctx context.Context, t *asynq.Task) error
|
||||
}
|
||||
|
||||
if h.stopResumeSvc != nil {
|
||||
// EvaluateAndAct 需要完整新鲜数据(含 DeviceID),从 DB 获取
|
||||
freshCard, loadErr := h.iotCardStore.GetByID(ctx, cardID)
|
||||
if loadErr == nil {
|
||||
h.base.logger.Info("套餐检查:执行停复机评估",
|
||||
zap.Uint("card_id", cardID),
|
||||
zap.Int("network_status", freshCard.NetworkStatus),
|
||||
zap.String("stop_reason", freshCard.StopReason))
|
||||
if evalErr := h.stopResumeSvc.EvaluateAndAct(ctx, freshCard); evalErr != nil {
|
||||
h.base.logger.Warn("套餐检查后停复机评估失败",
|
||||
zap.Uint("card_id", cardID), zap.Error(evalErr))
|
||||
}
|
||||
} else {
|
||||
h.base.logger.Warn("套餐检查:加载卡信息失败",
|
||||
zap.Uint("card_id", cardID), zap.Error(loadErr))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user