代码提交

This commit is contained in:
2026-11-05 12:11:56 +08:00
parent 3d9bdb6f6e
commit 3fd3e82a01
18 changed files with 431 additions and 58 deletions
+20 -4
View File
@@ -539,6 +539,7 @@ func ChannelSettlementUpdateByHour() error {
statYesterdayList, _ := channelmod.FindManyChannelStatYestoday(ctx, yesterdayFilter)
var succeed, failed int
for _, channelStatInfo := range statList {
channelStatInfoYesterday := &channelmod.ChannelStatYesterday{
// base
@@ -591,12 +592,27 @@ func ChannelSettlementUpdateByHour() error {
}
}
err := channelmod.InsertOneChannelStatYestoday(ctx, channelStatInfoYesterday)
if err != nil {
log.Error("ChannelSettlementMethod InsertOneChannelStatYestoday", log.E(err))
return err
// 单条失败只记录并继续,不能因为一个渠道写失败就丢掉后面所有渠道
if err := channelmod.UpsertOneChannelStatYestoday(ctx, channelStatInfoYesterday); err != nil {
failed++
log.Error("ChannelSettlementUpdateByHour UpsertOneChannelStatYestoday",
log.E(err),
log.Any("channel", channelStatInfoYesterday.Channel),
log.Any("appId", channelStatInfoYesterday.AppId),
log.Any("sumDate", channelStatInfoYesterday.SumDate))
continue
}
succeed++
}
log.Info("ChannelSettlementUpdateByHour done",
log.Any("sumDate", nowHour),
log.Any("total", len(statList)),
log.Any("succeed", succeed),
log.Any("failed", failed))
if failed > 0 {
return fmt.Errorf("渠道同时段对比数据写入失败 %d 条(成功 %d 条)", failed, succeed)
}
return nil
}
+7
View File
@@ -90,6 +90,13 @@ func Start() {
statutils.ServerMon.Run1(statminute.RunStat, defaultStatDate)
})
// 渠道同时段对比数据(channel_stat_yestoday)
// 必须严格整点一次: 记录按 sumDate=当前整点 作为唯一键的一部分,
// 跑在 5 分钟粒度上会在同一小时内反复覆盖同一批记录,没有意义且白耗资源。
_, _ = skdCron.AddFunc("0 0 */1 * * ?", func() {
statutils.ServerMon.Run(statminute.ChannelSettlementUpdateByHour)
})
}
// 应用点击统计