我的应用程序被冻结,因为Rabbitmq的内存使用量超过了其阈值。
我将pika
和pyrabbit
用作处理通道和连接的python包装器。
我徘徊着是否有一种方法可以让我的进程注册到某个东西上,并在该事件发生时(并且甚至希望在事件发生之前获得通知)得到通知。
答案 0 :(得分:0)
使用Rabbitpy时,您可以检查blocked标志是否已设置。此标志表示该连接由于资源限制(最可能是由于内存不足)而被阻止。
with rabbitpy.Connection('amqp://guest:guest@localhost:5672/%2f') as conn:
print(conn.blocked)
例如
while conn.blocked:
time.sleep(0.1) # wait until connection is unblocked