抽取数据添加协程逻辑调整

This commit is contained in:
2026-04-08 17:26:00 +08:00
parent 000ea03420
commit 5d72dd3aff
5 changed files with 172 additions and 70 deletions

View File

@@ -49,39 +49,54 @@ func main() {
result, err := syncService.SyncAccountReportConcurrent(ctx, req, config)
if err != nil {
logrus.Errorf("定时同步任务执行完成,存在失败的页面")
logrus.Errorf("定时同步任务执行失败:%v", err)
logrus.Infof("主任务日志ID%d", result.TaskLogID)
logrus.Infof("汇总数据:成功=%v, ID=%d", result.SumSuccess, result.SumID)
logrus.Infof("明细数据:总记录数=%d, 成功页数=%d, 失败页数=%d",
result.DetailCount, result.DetailSuccessCount, result.DetailFailCount)
logrus.Infof("失败的页面已记录到 sync_task_log 表,等待补偿调度器处理")
return
}
hasFailedPages := result.DetailFailCount > 0
if hasFailedPages {
logrus.Warnf("⚠ 定时同步任务完成,但存在失败的页面")
} else {
logrus.Infof("✓ 定时同步任务全部成功")
}
logrus.Infof("主任务日志ID%d", result.TaskLogID)
logrus.Infof("汇总数据:已保存=%v, ID=%d", result.SumSuccess, result.SumID)
logrus.Infof("明细统计:总记录数=%d, 成功页数=%d, 失败页数=%d",
result.DetailCount, result.DetailSuccessCount, result.DetailFailCount)
if hasFailedPages {
logrus.Warnf("失败的页面已记录到 sync_task_log 表,等待补偿调度器处理")
for _, pageResult := range result.PageResults {
if !pageResult.Success {
logrus.Warnf(" - 第 %d 页失败任务日志ID=%d错误%s",
pageResult.PageNumber, pageResult.PageTaskLogID, pageResult.ErrorMessage)
}
}
return
}
fmt.Printf("✓ 定时同步完成:\n")
fmt.Printf(" 时间区间:%s ~ %s\n", lastHourStart.Format("2006-01-02 15:04:05"), lastHourEnd.Format("2006-01-02 15:04:05"))
fmt.Printf(" 汇总数据:成功=%v, ID=%d\n", result.SumSuccess, result.SumID)
fmt.Printf(" 明细数据:总记录数=%d, 成功页数=%d, 失败页数=%d\n",
fmt.Printf("\n=== 同步结果汇总 ===\n")
fmt.Printf("时间区间:%s ~ %s\n", lastHourStart.Format("2006-01-02 15:04:05"), lastHourEnd.Format("2006-01-02 15:04:05"))
fmt.Printf("汇总数据:已保存=%v, ID=%d\n", result.SumSuccess, result.SumID)
fmt.Printf("明细统计:总记录数=%d, 成功页数=%d, 失败页数=%d\n",
result.DetailCount, result.DetailSuccessCount, result.DetailFailCount)
fmt.Printf(" 主任务日志ID%d\n", result.TaskLogID)
fmt.Printf("主任务日志ID%d\n", result.TaskLogID)
if len(result.PageResults) > 0 {
fmt.Printf(" 分页任务详情:\n")
fmt.Printf("\n分页任务详情:\n")
for _, pageResult := range result.PageResults {
status := "✓ 成功"
if !pageResult.Success {
status = fmt.Sprintf("✗ 失败: %s", pageResult.ErrorMessage)
}
fmt.Printf(" - 第 %d 页任务ID=%d, 记录数=%d, 耗时=%dms, 状态=%s\n",
fmt.Printf(" - 第 %d 页任务ID=%d, 记录数=%d, 耗时=%dms, 状态=%s\n",
pageResult.PageNumber, pageResult.PageTaskLogID,
pageResult.RecordCount, pageResult.DurationMs, status)
}
}
if hasFailedPages {
fmt.Printf("\n⚠ 警告:存在 %d 个失败的页面,请检查日志并触发补偿任务\n", result.DetailFailCount)
}
}