1
我遇到问题了解如何设置中止通道的超时。我发现这个答案:Python Pika在iddle上断开通道
Stop channel.basic_consume if the connection is idle/Not consuming from long time
但变量timer_id失控的范围我ON_MESSAGE方法内。
当给定时间没有消息到达队列时,是否有方法断开通道?
感谢您的帮助
我遇到问题了解如何设置中止通道的超时。我发现这个答案:Python Pika在iddle上断开通道
Stop channel.basic_consume if the connection is idle/Not consuming from long time
但变量timer_id失控的范围我ON_MESSAGE方法内。
当给定时间没有消息到达队列时,是否有方法断开通道?
感谢您的帮助
肯定我可以帮助你。对于这种情况,我选择使用channel.consume()方法,它返回(method,properties,body)的迭代器元组,并且当队列清空并且达到超时时,它返回(None,None,None)元组。 只是检查不是无和砰!你有你的收盘方法以及断线:
for method, prop, body in channel.consume(queue='Q_test_timeout',
no_ack=True,
exclusive=True,
inactivity_timeout=3):
也请/换行生成一个try里面除了块捕获超时异常,因为在达到超时时,会返回一个简单的无,使变量分配失败。 –