8

我在两台服务器上运行 celery,其中一台 redis 作为代理。

Celery 启动命令如下所示:

celery multi start 2 -A app_name

花启动命令:

celery flower -A app_name --address=10.41.31.210 --port=5555

在花的输出中有一些警告:

WARNING:flower.api.control:'stats' inspect method failed
WARNING:flower.api.control:'active_queues' inspect method failed
WARNING:flower.api.control:'registered' inspect method failed
WARNING:flower.api.control:'scheduled' inspect method failed
WARNING:flower.api.control:'active' inspect method failed
WARNING:flower.api.control:'reserved' inspect method failed
WARNING:flower.api.control:'revoked' inspect method failed
WARNING:flower.api.control:'conf' inspect method failed

对我来说最奇怪的是 - 并非所有工人都显示在 Flower 的仪表板中。似乎每次花重启后,只显示一些工人。由于我的启动脚本 - 应该至少有 8 个工作人员,但我看到 4 个或有时 6 个。

寻找任何解决方案或建议。谢谢你。

Ps 当只有一台服务器用于芹菜工人时,我对相同的服务没有任何问题。

4

2 回答 2

7

这里的问题是,花在芹菜准备好之前就开始了

这可以很容易地检查celery inspect ping

这是我的项目中的示例start_flower.sh

#!/bin/sh

until timeout -t 10 celery -A project inspect ping; do
    >&2 echo "Celery workers not available"
done

echo 'Starting flower'
celery -A project flower
于 2019-02-07T09:26:47.560 回答
1

试试看 :

shell > celery -A app_name worker -l info

another shell > celery -A djangocelery flower

有用....

于 2019-07-25T10:00:20.530 回答