""" NEF Worker — Redis Stream queue consumer entry point. Usage: python -m services.workers.nef.worker # or WORKER_MODE=stub python -m services.workers.nef.worker """ import logging import os import sys 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("nef-worker") def get_process_fn(): mode = os.environ.get("WORKER_MODE", "real").lower() if mode == "stub": from services.workers.stubs import process_nef_core_stub logger.info("Running in STUB mode") return process_nef_core_stub else: from services.workers.nef.core import process_nef_core logger.info("Running in REAL mode") return process_nef_core def main(): process_fn = get_process_fn() consumer = WorkerConsumer( stage="nef", process_fn=process_fn, queue_name="queue:nef", group_name="nef-workers", ) consumer.run() if __name__ == "__main__": main()