feat: bootstrap dodo phase one

This commit is contained in:
2026-09-05 10:47:44 +08:00
commit f182c704a4
48 changed files with 4221 additions and 0 deletions
+20
View File
@@ -0,0 +1,20 @@
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())