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