From b1c786e59d28fa1cbd5eeaf523563b7db9e54543 Mon Sep 17 00:00:00 2001 From: gahusb Date: Wed, 20 May 2026 03:04:14 +0900 Subject: [PATCH] =?UTF-8?q?feat(lotto-signals):=20scheduler=20cron=204?= =?UTF-8?q?=EC=A2=85=20=EB=93=B1=EB=A1=9D=20(light/sim/deep/digest)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- agent-office/app/scheduler.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/agent-office/app/scheduler.py b/agent-office/app/scheduler.py index f9c3285..fa7b561 100644 --- a/agent-office/app/scheduler.py +++ b/agent-office/app/scheduler.py @@ -36,6 +36,26 @@ async def _run_lotto_schedule(): if agent: await agent.on_schedule() +async def _run_lotto_light_check(): + agent = AGENT_REGISTRY.get("lotto") + if agent: + await agent.run_signal_check(source="light") + +async def _run_lotto_sim_check(): + agent = AGENT_REGISTRY.get("lotto") + if agent: + await agent.run_signal_check(source="sim") + +async def _run_lotto_deep_check(): + agent = AGENT_REGISTRY.get("lotto") + if agent: + await agent.run_signal_check(source="deep") + +async def _run_lotto_daily_digest(): + agent = AGENT_REGISTRY.get("lotto") + if agent: + await agent.run_daily_digest() + async def _run_youtube_research(): agent = AGENT_REGISTRY.get("youtube") if agent: @@ -73,6 +93,10 @@ def init_scheduler(): # 09:00 cron 스태거링 — Celeron 2C/2.0GHz에서 동시 실행 시 CPU 폭주 (CHECK_POINT FU-A) scheduler.add_job(_run_insta_trends_collect, "cron", hour=9, minute=0, id="insta_trends_collect") scheduler.add_job(_run_lotto_schedule, "cron", day_of_week="mon", hour=9, minute=5, id="lotto_curate") + scheduler.add_job(_run_lotto_light_check, "cron", hour=9, minute=15, id="lotto_light_check") + scheduler.add_job(_run_lotto_sim_check, "cron", minute=15, hour="0,4,8,12,16,20", id="lotto_sim_check") + scheduler.add_job(_run_lotto_deep_check, "cron", day_of_week="sun,wed", hour=21, minute=15, id="lotto_deep_check") + scheduler.add_job(_run_lotto_daily_digest, "cron", hour=9, minute=25, id="lotto_digest") scheduler.add_job(_run_youtube_research, "cron", hour=9, minute=10, id="youtube_research") scheduler.add_job(_send_youtube_weekly_report, "cron", day_of_week="mon", hour=8, minute=0, id="youtube_weekly_report") scheduler.add_job(_poll_pipelines, "interval", seconds=30, id="pipeline_poll")