When developing web applications, it is not uncommon for web requests to grow in complexity, as well as execution time. Eventually, some of these web requests leave users waiting longer than is generally acceptable. In the case where some of the processing can be done later, in the background (i.e. the user is not necessarily waiting for data in return), Celery allows you to put certain tasks in a queue to be processed asynchronously to the web request.
Is this the only problem that Celery can solve? Certainly not. In this session we will walk through a few examples of how Celery can make life easier for you as a web application developer. We will also go through a simple tutorial to learn how to set up a message queue (this is how Celery tracks the status of each task), how to set up Celery workers (such scale, very distribute!), and how to write tasks for the workers to consume.