Celery任务突然停止执行,节点之间找不到彼此

时间:2018-10-02 21:43:02

标签: python rabbitmq celery

我有一个主服务器和6个工作服务器(每个服务器上都运行着几个工作服务器)。在经过几个月的完美执行之后,即使没有代码更改,所有任务突然停止执行。现在,即使在重新启动所有涉及的服务器,重新启动RabbitMQ,重新启动工作程序等之后,服务器似乎也无法彼此找到,因此无法完成任何任务。

当我运行celery -A proj inspect active时,响应为Error: No nodes replied within time constraint.,我也可以使用Flower连接到代理,但是它没有列出任何工人,即使这些工人正在运行并指向同一个经纪人。在负责添加任务的主服务器上,我的应用程序现在似乎无限期地挂在apply_async上。

在我的应用程序中,将代理设置为pyamqp,将后端设置为rpc:

Celery('proj', broker='pyamqp://[master server's IP]', backend='rpc://[master server's IP]')

我觉得我缺少了一些非常简单的东西,但是我不知道它是什么。

1 个答案:

答案 0 :(得分:0)

导航到/var/log/rabbitmq/rabbit@[server-name].log并回滚到问题首次发生的时间,这使我收到此消息Disk free space limit now exceeded. Free bytes:999378944 Limit:1000000000

结果证明,硬盘驱动器已装满,看来这给RabbitMQ和Celery造成了种种麻烦。释放空间完全解决了所有问题。