Celery is an asynchronous task queue written in Python. Celery runs multiple tasks, which are user-defined functions, concurrently, 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 to 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 the message is deleted. Message queues provide real-time messaging without relying...