rabbitmqctl
correctly reports thousands of queued tasks:
$ sudo rabbitmqctl -q list_queues name messages messages_ready messages_unacknowledged
default 13142 13126 16
Yet celery reports:
>>> 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
The correct number (thousands) of tasks seem to show up in app.control.inspect().stats()['celery@default']['total']
, but I really want to know the correct number of outstanding queued tasks from within python, and active()
et al seem to only ever report up to 16 or so -- perhaps there is a limit?
Short of using privileged subprocess calls to rabbitmqctl
, how can I get the full queued task count from within python, preferably via celery
(btw this server is using Celery 3.1.8 currently)