from __future__ import annotations import os import time from app.config import get_settings from app.db import Database from app.dispatcher import Dispatcher def run() -> None: settings = get_settings() db = Database(settings) db.migrate(settings) dispatcher = Dispatcher(db, settings) interval = int(os.getenv("WORKER_INTERVAL_SECONDS", "15")) print(f"Retry worker running every {interval}s") while True: processed = dispatcher.process_due_deliveries(limit=100) if processed: print(f"processed {processed} due deliveries") time.sleep(interval) if __name__ == "__main__": run()