Celery任务突然停止执行,节点找不到对方
Celery tasks suddenly stop executing, nodes can't find each other
我有一个主服务器和 6 个工作服务器(每个服务器上都有几个工作服务器 运行ning)。突然之间,经过数月的完美执行后,所有任务都停止执行,即使没有更改代码。现在,即使在重启所有涉及的服务器、重启 RabbitMQ、重启 worker 等之后,服务器似乎无法找到彼此,因此无法完成任何任务。
当我 运行 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]')
我觉得我错过了一些非常简单的东西,但我不知道它是什么。
导航到 /var/log/rabbitmq/rabbit@[server-name].log
并回滚到问题首次出现的时间,这让我看到了这条消息 Disk free space limit now exceeded. Free bytes:999378944 Limit:1000000000
。
原来是硬盘满了,好像给RabbitMQ和Celery带来了各种麻烦。释放 space 完全解决了所有问题。
我有一个主服务器和 6 个工作服务器(每个服务器上都有几个工作服务器 运行ning)。突然之间,经过数月的完美执行后,所有任务都停止执行,即使没有更改代码。现在,即使在重启所有涉及的服务器、重启 RabbitMQ、重启 worker 等之后,服务器似乎无法找到彼此,因此无法完成任何任务。
当我 运行 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]')
我觉得我错过了一些非常简单的东西,但我不知道它是什么。
导航到 /var/log/rabbitmq/rabbit@[server-name].log
并回滚到问题首次出现的时间,这让我看到了这条消息 Disk free space limit now exceeded. Free bytes:999378944 Limit:1000000000
。
原来是硬盘满了,好像给RabbitMQ和Celery带来了各种麻烦。释放 space 完全解决了所有问题。