import asyncio from apscheduler.schedulers.asyncio import AsyncIOScheduler async def scan_due_reminders() -> None: # Reminder delivery is implemented in phase 2. Keeping the scheduler isolated # ensures API restarts never own reminder timing. return None async def main() -> None: scheduler = AsyncIOScheduler(timezone="UTC") scheduler.add_job(scan_due_reminders, "interval", seconds=30, max_instances=1) scheduler.start() await asyncio.Event().wait() if __name__ == "__main__": asyncio.run(main())