celery停在mingle: 搜索邻居,无法进入就绪状态
我之前在我的项目中用10个线程运行了celery,效果很好。
现在,当我使用这个命令:
celery -A tasks worker --loglevel=info --concurrency 10
celery卡在了:
[2014-08-07 12:55:21,013: INFO/MainProcess] Connected to amqp://guest:**@127.0.0.1:5672//
[2014-08-07 12:55:21,025: INFO/MainProcess] mingle: searching for neighbors
之前在这个时候它会显示准备就绪的状态。
而当我尝试用ctrl+c来结束它时,它并没有关闭。
[2014-08-07 12:55:21,013: INFO/MainProcess] Connected to amqp://guest:**@127.0.0.1:5672//
[2014-08-07 12:55:21,025: INFO/MainProcess] mingle: searching for neighbors
^C
worker: Hitting Ctrl+C again will terminate all running tasks!
worker: Warm shutdown (MainProcess)
^C
worker: Cold shutdown (MainProcess)
^C
worker: Cold shutdown (MainProcess)
^C
worker: Cold shutdown (MainProcess)
^C
worker: Cold shutdown (MainProcess)
^C
worker: Cold shutdown (MainProcess)
^C
worker: Cold shutdown (MainProcess)
我甚至尝试给工作线程分配任务,但也没有效果。
我想让celery保持在准备就绪的状态,有人能帮忙吗?
另外,我需要一个正确的方法来结束celery进程,包括任务、队列和工作线程。谢谢。
4 个回答
0
如果你使用的是数据库作为后端,给celery
加上以下选项应该能解决问题:--without-gossip --without-mingle
。
可以查看GitHub上的相关问题。
1
这个问题是因为RabbitMQ消息中间件崩溃了,重启它就解决了。
1
如果你想了解更多,RabbitMQ在单独运行时需要1GB的磁盘空间。如果你在运行一个RabbitMQ集群,那么集群中的所有节点都需要有1GB的可用磁盘空间。
6
检查一下你的磁盘剩余空间。默认情况下,RabbitMQ需要1GB的空闲空间。