From 2be5f49528a6d1c3e474586933e7d2f8ce9b9f67 Mon Sep 17 00:00:00 2001 From: yanlongqi Date: Tue, 2 Dec 2025 00:42:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=9C=8D=E5=8A=A1=E5=90=AF?= =?UTF-8?q?=E5=8A=A8=E6=97=B6=E8=87=AA=E5=8A=A8=E6=A3=80=E6=B5=8B=E5=B9=B6?= =?UTF-8?q?=E7=94=9F=E6=88=90=E5=BD=93=E5=A4=A9=E6=AF=8F=E6=97=A5=E4=B8=80?= =?UTF-8?q?=E7=BB=83=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 checkAndGenerateDailyExam 函数在应用启动时执行 - 使用 goroutine 异步执行检测,不阻塞服务启动 - 复用 DailyExamService 的幂等性逻辑,已存在则跳过 - 确保服务重启后当天的每日一练试卷已创建 --- main.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/main.go b/main.go index 5ac4e57..cfb59f6 100644 --- a/main.go +++ b/main.go @@ -120,6 +120,9 @@ func main() { // 启动定时任务 startCronJobs() + // 应用启动时检测并生成今日每日一练 + go checkAndGenerateDailyExam() + 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("每日一练检测完成") + } +}