rabbitmqctl
правильно сообщает о тысячах задач в очереди:
$ sudo rabbitmqctl -q list_queues name messages messages_ready messages_unacknowledged
default 13142 13126 16
Тем не менее, сельдерей сообщает:
>>> 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)