【发布时间】:2017-04-12 22:17:45
【问题描述】:
rabbitmqctl 正确报告了数千个排队任务:
$ sudo rabbitmqctl -q list_queues name messages messages_ready messages_unacknowledged
default 13142 13126 16
然而 celery 报告:
>>> len(app.control.inspect().active()['celery@default'])
4
>>> len(app.control.inspect().scheduled()['celery@default'])
1
>>> len(app.control.inspect().reserved()['celery@default'])
16
>>> len(app.control.inspect().revoked()['celery@default'])
0
app.control.inspect().stats()['celery@default']['total'] 中似乎显示了正确数量(数千个)的任务,但我真的很想知道来自 python 中的未完成队列任务的正确数量,以及active() 等似乎只报告了最多 16 个左右——也许有限制?
没有使用特权子进程调用rabbitmqctl,我如何从 python 中获取完整的队列任务计数,最好是通过celery(顺便说一下,这个服务器目前使用的是 Celery 3.1.8)
【问题讨论】:
标签: python rabbitmq celery rabbitmqctl