Celery app.control.inspect will check tasks that are processed only by running workers .
Even if you have thousands of tasks in line, your employee will only complete a few tasks at any given time. This is an active task.
In addition to this, the employee can pre-select some tasks that will be reserved for this employee. They will be shown in reserved tasks.
If you installed ETA for your tasks or there were periodic tasks, they will fall under scheduled tasks.
It looks like you started a worker with concurrency of 4 (or a worker with default settings on a 4-core computer). Thus, there are 4 active tasks. Each workflow predefined 4 tasks, as a result of which 16 reserved tasks were completed.
AFAIK, there is no way to get the total number of tasks in the queue with celery.
However, there are several python solutions to get the total number of messages in a queue. You can check my other answer here for other ways to do this.
Update:
pika is a python client for interacting with rabbitmq. You can use it to consume messages. The following is a simple example to consume each message. You can check more usage examples at pika docs.
source share