我在一个woker dyno上运行了一个芹菜实例 . 我用django和djcelery使用它,我使用以下命令启动它:

python manage.py celery worker -B -E --loglevel=info --autoscale=50,8 --without-gossip

我在队列中添加了一个任务,但它从未被执行过 . 日志显示:

Scaling down -7 processes. (This is a while before the following)
Received task: myapp.tasks.my_task[75f095cb-9652-4cdb-87d4-dc31cecaadff] 
Scaling up 1 processes.

但就是这样,在此之后,这项工作根本没有完成 . 之后我也解雇了其他任务,并且所有任务都成功执行了 . 几个小时后重复了同样的问题 .

我有几个问题:1 . “已接收任务...”日志行意味着芹菜守护程序从队列中选择了作业,对吧?为什么工作进程变得不活跃? 2.由于我的自动缩放设置为50,8,不应该总是有8名 Worker 吗?为什么所有 Worker 都缩减了? 3.有没有办法知道任务被卡住了?如果被解雇的任务是关键任务,那么对于这种情况,建议的故障恢复是什么 .

我的芹菜版本是3.1.9,django-celery版本3.1.9,redis版本2.6.16

django设置中的设置:

CELERY_SEND_TASK_ERROR_EMAILS = True
import djcelery
djcelery.setup_loader()
BROKER_URL = 'redis://:password@host:port/0'
BROKER_BACKEND = 'django'
CELERYBEAT_SCHEDULER = 'djcelery.schedulers.DatabaseScheduler'