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.")