【发布时间】:2015-11-18 17:29:31
【问题描述】:
我有一个rabbitmq 服务器和一个使用kombu 的amqp 消费者(python)。
我已将我的应用程序安装在具有防火墙的系统中,该防火墙会在 1 小时后关闭空闲连接。
这是我的 amqp_consumer.py:
try:
# connections
with Connection(self.broker_url, ssl=_ssl, heartbeat=self.heartbeat) as conn:
chan = conn.channel()
# more stuff here
with conn.Consumer(queue, callbacks = [messageHandler], channel = chan):
# Process messages and handle events on all channels
while True:
conn.drain_events()
except Exception as e:
# do stuff
我想要的是,如果防火墙关闭了连接,那么我想重新连接。我应该使用心跳参数还是应该将超时参数(3600 秒)传递给drain_events() 函数?
两种选择有什么区别? (似乎也是如此)。
谢谢。
【问题讨论】:
标签: python timeout rabbitmq heartbeat kombu