Celery is the standard tool for running background and scheduled tasks in Django — work that shouldn't block the HTTP request (sending emails, processing files, calling slow APIs) or that runs on a schedule. Tasks are queued and processed asynchronously by separate worker processes.
The problem Celery solves
():
user = create_user(request.POST)
send_welcome_email(user)
generate_report(user)
redirect()
