diff --git a/agent-office/app/scheduler.py b/agent-office/app/scheduler.py new file mode 100644 index 0000000..c5eda69 --- /dev/null +++ b/agent-office/app/scheduler.py @@ -0,0 +1,20 @@ +import asyncio +from apscheduler.schedulers.asyncio import AsyncIOScheduler + +from .agents import AGENT_REGISTRY + +scheduler = AsyncIOScheduler(timezone="Asia/Seoul") + +async def _check_idle_breaks(): + for agent in AGENT_REGISTRY.values(): + await agent.check_idle_break() + +async def _run_stock_schedule(): + agent = AGENT_REGISTRY.get("stock") + if agent: + await agent.on_schedule() + +def init_scheduler(): + scheduler.add_job(_run_stock_schedule, "cron", hour=8, minute=0, id="stock_news") + scheduler.add_job(_check_idle_breaks, "interval", seconds=60, id="idle_check") + scheduler.start()