Pika - 处理 RabbitMQ 连接丢失

Pika - Handling RabbitMQ Connection Loss

假设您创建了一个频道并开始使用其中的消息。

channel = get_channel()
channel.queue_declare(queue=QUEUE_NAME, durable=True)

channel.basic_qos(prefetch_count=1)
channel.basic_consume(callback, queue=QUEUE_NAME)
channel.start_consuming()

但是不知何故你失去了与 RabbitMQ 服务器的连接。当连接断开时,您会收到 ConnectionClosed 异常并且消费者停止。在 consumer 模式下应该如何处理 pika 的连接丢失?

我最终放弃了 pika,转而使用 kombu。您可以构建一个健壮的消费者(如果连接断开,它将重新连接),如本文所述:

https://medium.com/python-pandemonium/building-robust-rabbitmq-consumers-with-python-and-kombu-part-1-ccd660d17271