From 2a4db59f02c7150c101c0d6111a3e57bb18bda16 Mon Sep 17 00:00:00 2001 From: Simon Date: Sat, 18 Jul 2026 01:13:33 +0800 Subject: [PATCH] =?UTF-8?q?P1-7(=E9=83=A8=E5=88=86):=203=E4=B8=AA=E6=BD=9C?= =?UTF-8?q?=E4=BC=8Fbug=E4=BF=AE=E5=A4=8D=20-=20main.py=20app=5Froot?= =?UTF-8?q?=E6=9C=AA=E5=AE=9A=E4=B9=89/scheduler.py=20AsyncIOSScheduler?= =?UTF-8?q?=E6=8B=BC=E5=86=99/config.py=20logger=E6=9C=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/app/config.py | 4 ++++ backend/app/main.py | 4 ++++ backend/app/tasks/scheduler.py | 4 +++- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/backend/app/config.py b/backend/app/config.py index 12da851..7db6854 100644 --- a/backend/app/config.py +++ b/backend/app/config.py @@ -6,12 +6,16 @@ # 所有配置项集中管理,避免散落在代码各处 # ============================================================================= +import logging import os from typing import List import redis.asyncio as aioredis from pydantic_settings import BaseSettings, SettingsConfigDict +# v4.0 P1-7 修复:get_automation_thresholds 异常分支使用 logger 但未定义 +logger = logging.getLogger(__name__) + class Settings(BaseSettings): """应用配置类。 diff --git a/backend/app/main.py b/backend/app/main.py index e11366c..31b33c0 100644 --- a/backend/app/main.py +++ b/backend/app/main.py @@ -1014,6 +1014,10 @@ def create_app() -> FastAPI: 返回服务版本信息。 """ import subprocess + from pathlib import Path + # v4.0 P1-7 修复:app_root 之前未定义导致 git_hash 永远 "unknown" + # 项目根 = app/main.py 的上两级(容器内为 /app) + app_root = Path(__file__).resolve().parents[1] try: git_hash = subprocess.check_output( ["git", "rev-parse", "HEAD"], diff --git a/backend/app/tasks/scheduler.py b/backend/app/tasks/scheduler.py index f4c7048..c11105d 100644 --- a/backend/app/tasks/scheduler.py +++ b/backend/app/tasks/scheduler.py @@ -18,7 +18,9 @@ from apscheduler.triggers.cron import CronTrigger logger = logging.getLogger(__name__) # 定时任务调度器实例 -scheduler = AsyncIOSScheduler() +# v4.0 P1-7 修复:AsyncIOSScheduler → AsyncIOScheduler(原拼写错误,import 即 NameError) +# 注意:本模块当前无人 import(main.py 使用自己的 _scheduler),批次 4 候选删除 +scheduler = AsyncIOScheduler() def setup_scheduled_tasks():