27 lines
653 B
Python
27 lines
653 B
Python
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()
|