""" ONNX Worker — Redis Stream queue consumer entry point. Usage: python -m services.workers.onnx.worker # or WORKER_MODE=stub python -m services.workers.onnx.worker """ import logging import os import sys # Ensure project root is in sys.path PROJECT_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..", "..")) if PROJECT_ROOT not in sys.path: sys.path.insert(0, PROJECT_ROOT) from services.workers.consumer import WorkerConsumer logging.basicConfig( level=logging.INFO, format="%(asctime)s [%(name)s] %(levelname)s %(message)s", ) logger = logging.getLogger("onnx-worker") def get_process_fn(): """Return the appropriate core function based on WORKER_MODE.""" mode = os.environ.get("WORKER_MODE", "real").lower() if mode == "stub": from services.workers.stubs import process_onnx_core_stub logger.info("Running in STUB mode") return process_onnx_core_stub else: from services.workers.onnx.core import process_onnx_core logger.info("Running in REAL mode") return process_onnx_core def main(): process_fn = get_process_fn() consumer = WorkerConsumer( stage="onnx", process_fn=process_fn, queue_name="queue:onnx", group_name="onnx-workers", ) consumer.run() if __name__ == "__main__": main()