#####What is Celery?
Celery is an asynchronous task queue. You can use it to execute tasks outside of the context of your application. The general idea is that any resource consuming tasks that your application may need to run can be offloaded to the task queue, leaving your application free to respond to client requests.
Celery has three core components:
- The Celery client. This is used to issue background jobs.
- The Celery workers. These are the processes that run the background jobs. Celery supports local and remote workers, so you can start with a single worker running on the same machine as your application server, and later add more workers as the needs of your application grow.
- The message broker. The client communicates with the the workers through a message queue, and Celery supports several ways to implement these queues. The most commonly used brokers are RabbitMQ and Redis.
Ref:
Set up Celery message broker: RabbitMQ
# ubuntu sudo apt-get install rabbitmq-server
Enable RabbitMQ Management Plugin(Optional):
sudo rabbitmq-plugins enable rabbitmq_management
Restart RabbitMQ: