From 55e39818ec47a2def85811e6d146644e7bc4337e Mon Sep 17 00:00:00 2001 From: Hyungi Ahn Date: Tue, 12 May 2026 14:54:20 +0900 Subject: [PATCH] feat(briefing): register 05:10 KST APScheduler cron MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 매일 KST 05:10 morning_briefing_run 자동 실행. scheduler timezone=Asia/Seoul 이라 hour=5 minute=10 만 명시. Phase 4 04:00 cron 종료 후 70분 buffer + MLX semaphore 충돌 회피. --- app/main.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/main.py b/app/main.py index c4795f7..e21dfd7 100644 --- a/app/main.py +++ b/app/main.py @@ -39,6 +39,7 @@ async def lifespan(app: FastAPI): from apscheduler.schedulers.asyncio import AsyncIOScheduler from apscheduler.triggers.cron import CronTrigger from services.search.query_analyzer import prewarm_analyzer + from workers.briefing_worker import run as morning_briefing_run from workers.daily_digest import run as daily_digest_run from workers.digest_worker import run as global_digest_run from workers.file_watcher import watch_inbox @@ -94,6 +95,7 @@ async def lifespan(app: FastAPI): scheduler.add_job(mailplus_run, CronTrigger(hour=18), id="mailplus_evening") scheduler.add_job(daily_digest_run, CronTrigger(hour=20), id="daily_digest") scheduler.add_job(global_digest_run, CronTrigger(hour=4, minute=0), id="global_digest") + scheduler.add_job(morning_briefing_run, CronTrigger(hour=5, minute=10), id="morning_briefing") scheduler.add_job(news_collector_run, "interval", hours=6, id="news_collector") scheduler.start()