Release
Django's Tasks API Ships Without a Worker
DEV · By Papan Sarkar ·
The Brief
- Django 6.0 adds a built-in Tasks API, with a @task decorator as the replacement for Celery's @shared_task.
- The Tasks API ships without a worker, so it does not run queued tasks on its own.
- The source is a developer's account of removing Celery during a Django 6.0 upgrade, which stopped partway through.
Why it matters
Teams that expect Django 6.0 to let them drop Celery and its worker should first confirm what will execute their background tasks, because the built-in API does not supply a worker.
Who’s affected
- Django 6.0 teams
- Teams using Celery with shared_task
- Django 6.0
- #django
- #python
- #celery
- #background-tasks
- #task-queue
Halfway through a Django 6.0 upgrade on a client's compliance SaaS, I opened a branch called kill-celery . The plan was two hours of work: swap every @shared_task for the new built-in @task , drop the broker, delete the worker service, ship a smaller stack. I got as far as…