Files
Lyra/worker/lyra_worker/main.py
T
2026-07-10 18:59:28 +02:00

30 lines
760 B
Python

import time
from lyra_worker.claim import claim_next
from lyra_worker.db import wait_for_db
from lyra_worker.pipeline import run_pipeline
from lyra_worker.registry import build_adapters
IDLE_SLEEP = 2.0
def run_forever() -> None:
conn = wait_for_db()
adapters = build_adapters()
print("worker: waiting for jobs", flush=True)
try:
while True:
job_id = claim_next(conn)
if job_id is None:
time.sleep(IDLE_SLEEP)
continue
print(f"worker: claimed job {job_id}", flush=True)
run_pipeline(conn, job_id, adapters)
print(f"worker: finished job {job_id}", flush=True)
finally:
conn.close()
if __name__ == "__main__":
run_forever()