From 91e34420c6c21601ed1c6b7a08e04ced94c6e3b4 Mon Sep 17 00:00:00 2001 From: "CHIEFSOFT\\ameye" Date: Wed, 22 Oct 2025 12:34:50 -0400 Subject: [PATCH] core --no-cachev --- engine/wsgi.py | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 engine/wsgi.py diff --git a/engine/wsgi.py b/engine/wsgi.py new file mode 100644 index 0000000..fc10e89 --- /dev/null +++ b/engine/wsgi.py @@ -0,0 +1,37 @@ +import threading +from app import create_app +from app.integrations import KafkaIntegration +from app.config import settings +from app.utils.logger import logger + +app = create_app() +kafka = KafkaIntegration() + +def start_kafka_consumer(app): + with app.app_context(): + logger.info("Starting Kafka consumer...") + while True: + try: + + message = kafka.receive_messages( + topics=settings.KAFKA_TOPICS, timeout=settings.KAFKA_TIMEOUT + ) + + if message: + logger.info(f"Processed message: {message}") + else: + logger.info("No message received within timeout") + + + except Exception as e: + logger.error(f"Error while receiving message: {e}") + + + +if __name__ != "__main__": + + # Expose WSGI app instance for Gunicorn + wsgi_app = app + + # Start kafka in a thread + threading.Thread(target=start_kafka_consumer, args=(app,), daemon=True).start() \ No newline at end of file