diff --git a/app/scheduler/jobs.py b/app/scheduler/jobs.py index 9dfc41f..86c711b 100644 --- a/app/scheduler/jobs.py +++ b/app/scheduler/jobs.py @@ -1,6 +1,7 @@ import logging from apscheduler.schedulers.asyncio import AsyncIOScheduler +from apscheduler.triggers.cron import CronTrigger from app.api.deps import get_crawl_service from app.config import settings @@ -29,17 +30,15 @@ async def scheduled_crawl(): def start_scheduler(): if not settings.scheduler_enabled: return + trigger = CronTrigger.from_crontab(settings.scheduler_cron, timezone="Asia/Shanghai") scheduler.add_job( scheduled_crawl, - "cron", - hour="8,14,18", - minute="0", + trigger=trigger, id="scheduled_crawl", name="定时爬取", - timezone="Asia/Shanghai", ) scheduler.start() - logger.info("APScheduler 已启动 (8:00, 14:00, 18:00)") + logger.info(f"APScheduler 已启动 (cron: {settings.scheduler_cron})") def shutdown_scheduler():