From e7db21b8efe193d6fe65bf00c1894035ea79f1c7 Mon Sep 17 00:00:00 2001 From: iProbe Date: Sat, 14 Sep 2024 16:14:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20Python/aio=5Fpika=E8=BF=9E?= =?UTF-8?q?=E6=8E=A5=E5=BC=80=E5=90=AFssl=E7=9A=84rabbitmq.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Python/aio_pika连接开启ssl的rabbitmq.md | 29 +++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 Python/aio_pika连接开启ssl的rabbitmq.md diff --git a/Python/aio_pika连接开启ssl的rabbitmq.md b/Python/aio_pika连接开启ssl的rabbitmq.md new file mode 100644 index 0000000..440861e --- /dev/null +++ b/Python/aio_pika连接开启ssl的rabbitmq.md @@ -0,0 +1,29 @@ +```python +def start(self): + # Connect to RabbitMQ + if self.rabbitmq_ssl: + ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2) + ssl_context.check_hostname = False + ssl_context.verify_mode = ssl.CERT_NONE + self.connection = await aio_pika.connect_robust( + self.rabbitmq_url, ssl=True, ssl_context=ssl_context) + else: + self.connection = await aio_pika.connect_robust(self.rabbitmq_url) + self.channel = await self.connection.channel() + await self.channel.set_qos(prefetch_count=self.max_concurrent_tasks) + + # Declare exchange and queue + exchange = await self.channel.declare_exchange( + self.exchange_name, ExchangeType.TOPIC, durable=True + ) + queue = await self.channel.declare_queue(self.queue_name, durable=True) + + # Bind queue to exchange with routing key + await queue.bind(exchange, routing_key=self.routing_key) + + # Start consuming messages + await queue.consume(self.consume_message) + logging.info("Consumer started and waiting for messages...") + # Keep the event loop running + await asyncio.Future() +``` \ No newline at end of file