diff --git a/app/core/scheduler.py b/app/core/scheduler.py index f4835b3..524c7b1 100644 --- a/app/core/scheduler.py +++ b/app/core/scheduler.py @@ -181,8 +181,17 @@ async def _get_active_proxy() -> "str | None": async def company_cleaning_job(): """每5分钟执行:自动清洗待处理公司数据""" + from tortoise import Tortoise from app.services.company_cleaner import company_cleaner + # 检查连接池是否可用,不可用则跳过本轮 + try: + conn = Tortoise.get_connection("default") + await conn.execute_query("SELECT 1") + except Exception as e: + logger.warning(f"company_cleaning_job skipped: DB connection unavailable: {e}") + return + task_id = str(uuid.uuid4()) started_at = datetime.now() task_name = "company_cleaning_job" diff --git a/app/settings/config.py b/app/settings/config.py index f812c45..4d987ac 100644 --- a/app/settings/config.py +++ b/app/settings/config.py @@ -49,7 +49,20 @@ class Settings(BaseSettings): ALERT_WINDOW_MINUTES: int = 10 TORTOISE_ORM: dict = { "connections": { - "default": "mysql://root:jobdata123@121.4.126.241:3306/job_data" + "default": { + "engine": "tortoise.backends.mysql", + "credentials": { + "host": "121.4.126.241", + "port": 3306, + "user": "root", + "password": "jobdata123", + "database": "job_data", + "minsize": 1, + "maxsize": 10, + "connect_timeout": 10, + "charset": "utf8mb4", + }, + }, }, "apps": { "models": {