使用celery stats时由于对等错误重置连接()

时间:2017-07-09 01:35:41

标签: python-2.7 flask rabbitmq celery django-celery

我正在尝试获取我的芹菜Que(rabbitmq)的统计数据。我正在使用celery.app.control.Inspect()。stats()API。我在网络服务器上这样做,我只能获得一次统计数据。如果我刷新页面,我会收到“ [Errno 104]连接重置”错误。我怎么处理这个。

/ 初始化的.py

celtasks = Celery(app.name,"rabbit mq url")

/helpers.py

get_stats():
     stats = celtasks.control.Inspect().stats()
     return stats

每当有请求“get_stats”函数被命中时。它仅适用于此后的第一个请求,它表示通过对等错误重置连接。

如果我通过连接重置并尝试再次创建连接,则会出现错误

更新了/helpers.py

 get_stats():
     celtasks = Celery(app.name,"rabbit mq url")
     stats = celtasks.control.Inspect().stats()
     return stats

Rabbitmq日志

=WARNING REPORT==== 10-Jul-2017::14:11:54 ===
closing AMQP connection <0.29185.6> (10.246.170.70:48618 -> 10.24.83.115:5672):
connection_closed_abruptly

=WARNING REPORT==== 10-Jul-2017::14:11:54 ===
closing AMQP connection <0.29197.6> (10.246.170.70:48620 -> 10.24.83.115:5672):
connection_closed_abruptly
"rabbit@oser000300.log-20170625" 9054L, 361662C

1 个答案:

答案 0 :(得分:1)

在大多数情况下,CONNER RESET BY PEER是因为服务器关闭连接本身,但客户端不知道。当客户端想要通过这个断开的连接与服务器通信时,它会收到此错误。在你的情况下,也许挂起时间(两个stats()之间的时间间隔太长,服务器认为这个连接是无用的并关闭它。