Using a job queuing system to offload time-consuming tasks is a typical pattern in web applications. Celery can be paired with a message broker such as RabbitMQ to connect the app that adds the tasks (producer) and the worker processing the jobs (consumers) Each worker can retrieve a message from the queue and start executing the task.
Sort: