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
。您可以构建一个健壮的消费者(如果连接断开,它将重新连接),如本文所述:
假设您创建了一个频道并开始使用其中的消息。
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
。您可以构建一个健壮的消费者(如果连接断开,它将重新连接),如本文所述: