From f51a66078eca83a08611b8ec4828d2bacc7270c2 Mon Sep 17 00:00:00 2001 From: florian Date: Sun, 9 Nov 2025 19:54:19 +0100 Subject: [PATCH] Prevent premature garbage collectionbut without blocking the rest of the application this time :) --- src/rabbitmq_handler.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/rabbitmq_handler.py b/src/rabbitmq_handler.py index 96a0bf9..e43778c 100644 --- a/src/rabbitmq_handler.py +++ b/src/rabbitmq_handler.py @@ -59,17 +59,25 @@ class RabbitMQConsumer: "x-dead-letter-exchange": self.exchange_name, "x-dead-letter-routing-key": "notify.user.retry", } + logger.debug(f"[RabbitMQ] Declaring retry queue '{self.retry_queue_name}' with args: {retry_queue_args}") + self.retry_queue = await self.channel.declare_queue( self.retry_queue_name, durable=True, arguments=retry_queue_args ) + logger.debug(f"[RabbitMQ] Retry queue '{self.retry_queue_name}' declared.") + await self.channel.declare_queue(self.dlq_queue_name, durable=True) + logger.debug(f"[RabbitMQ] DLQ queue '{self.dlq_queue_name}' declared.") metrics.start_metrics_server(port=9000) - await asyncio.gather( - metrics.update_queue_gauge(self.channel, self.queue_name), - metrics.update_queue_gauge(self.channel, self.retry_queue_name), - metrics.update_queue_gauge(self.channel, self.dlq_queue_name), - ) + logger.debug(f"[Metrics] Prometheus metrics server started on port 9000.") + + self._metric_tasks = [ + asyncio.create_task(metrics.update_queue_gauge(self.channel, self.queue_name)), + asyncio.create_task(metrics.update_queue_gauge(self.channel, self.retry_queue_name)), + asyncio.create_task(metrics.update_queue_gauge(self.channel, self.dlq_queue_name)), + ] + logger.debug(f"[Metrics] Gauge update tasks created for queues: {self.queue_name}, {self.retry_queue_name}, {self.dlq_queue_name}") logger.info("[RabbitMQ] Connected, exchange, retry, and DLQ queues ready.")