bug fix on application context with threads

This commit is contained in:
2025-04-15 16:39:05 +01:00
parent 32e3ca5bb0
commit 4685ddc1c8
5 changed files with 36 additions and 49 deletions
+16 -14
View File
@@ -7,23 +7,25 @@ from app.utils.logger import logger
app = create_app()
kafka = KafkaIntegration()
def start_kafka_consumer():
logger.info("Starting Kafka consumer...")
while True:
try:
def start_kafka_consumer(app):
with app.app_context():
logger.info("Starting Kafka consumer...")
while True:
try:
message = kafka.receive_disbursement_messages(
topic=settings.KAFKA_PAYMENT_TOPIC, timeout=settings.KAFKA_TIMEOUT
)
message = kafka.receive_disbursement_messages(
topic=settings.KAFKA_PAYMENT_TOPIC, timeout=settings.KAFKA_TIMEOUT
)
if message:
logger.info(f"Processed message: {message}")
else:
logger.info("No message received within 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}")
except Exception as e:
logger.error(f"Error while receiving message: {e}")
if __name__ != "__main__":
@@ -32,4 +34,4 @@ if __name__ != "__main__":
wsgi_app = app
# Start kafka in a thread
threading.Thread(target=start_kafka_consumer, daemon=True).start()
threading.Thread(target=start_kafka_consumer, args=(app,), daemon=True).start()