Celery is an asynchronous task queue written in Python. Celery runs tasks, which are user-defined functions, concurrently—multiple tasks at once—through the Python multiprocessing library. Celery receives messages that tell it to start a task from a broker, which is usually called a message queue as shown in the following diagram:
A message queue is a system specifically designed to send data between producer processes and consumer processes. Producer processes are any programs that create messages to be sent in the queue, and consumer processes are any programs that take the messages out of the queue. Messages sent from a producer are stored in a First In First Out (FIFO) queue, where the oldest items are retrieved first. Messages are stored until a consumer receives the message, after which it is deleted. Message queues provide real-time messaging without relying on polling, the process of continuously checking the status of a process. When messages are sent from producers...