添加服务启动时自动检测并生成当天每日一练功能

- 新增 checkAndGenerateDailyExam 函数在应用启动时执行
- 使用 goroutine 异步执行检测,不阻塞服务启动
- 复用 DailyExamService 的幂等性逻辑,已存在则跳过
- 确保服务重启后当天的每日一练试卷已创建
This commit is contained in:
燕陇琪 2025-12-02 00:42:22 +08:00
parent 4f7dfae855
commit 2be5f49528

14
main.go
View File

@ -120,6 +120,9 @@ func main() {
// 启动定时任务 // 启动定时任务
startCronJobs() startCronJobs()
// 应用启动时检测并生成今日每日一练
go checkAndGenerateDailyExam()
log.Printf("服务器启动在端口 %s超时配置读/写 5分钟", port) log.Printf("服务器启动在端口 %s超时配置读/写 5分钟", port)
// 启动服务器 // 启动服务器
@ -162,3 +165,14 @@ func startCronJobs() {
// } // }
// }() // }()
} }
// checkAndGenerateDailyExam 检测并生成今日每日一练
func checkAndGenerateDailyExam() {
log.Println("检测今日每日一练是否已生成...")
service := services.NewDailyExamService()
if err := service.GenerateDailyExam(); err != nil {
log.Printf("生成每日一练失败: %v", err)
} else {
log.Println("每日一练检测完成")
}
}