我的应用刚刚冻结,因为RabbitMQ的内存使用量超过其阈值。
我使用pika
和pyrabbit
作为一个Python包装的处理通道和连接。我徘徊,如果有一种方式,当事件发生时(希望甚至有点它之前)我的进程将登记的东西,并得到一个通知。
当使用rabbitpy您可以检查是否blocked标志。该标志表示该连接被阻止由于资源限制(最可能是由于低存储器)。
with rabbitpy.Connection('amqp://guest:guest@localhost:5672/%2f') as conn:
print(conn.blocked)
EG
while conn.blocked:
time.sleep(0.1) # wait until connection is unblocked