Een manier om achtergrondtaken in Django te maken, is door het gebruik van Celery, een open-source project dat asynchrone taken uitvoert door middel van message-queuing. Het wordt gebruikt voor taken met veel verzoeken waarbij je een snelle reactie nodig hebt en de zware taak op de achtergrond wordt uitgevoerd.
1. Installeren
Je kunt Celery installeren met behulp van pip:
```
pip install celery
```
1. Aanmaken van een ‘celery.py’ bestand
In je Django-project creëer je een bestand genaamd ‘celery.py’, en dit zou je initiële instelling bevatten zoals:
```
from future import absolute_import
import os
from celery import Celery
1. Importeren van ‘celery.py’ bestand
Je dient je ‘celery.py’ bestand te importeren in je ‘init.py’ bestand van je project, dat zou er als volgt uitzien:
```
from future import absolute_import
1. Taak aanmaken
Nu kan men eenvoudig taken creëren in de gewenste app door het volgende te schrijven:
```
from celery import shared_task
@shared_task
def my_task(params):
# taak uit te voeren
```
1. Execute the task
Nu kan je eenvoudig de taak uitvoeren met de methode ‘.delay()’, die de taak overdraagt aan de broker en vervolgens uitgevoerd wordt door de worker:
```
my_task.delay(params)
```
Verder zijn er verschillende message brokers waaruit je kunt kiezen, zoals RabbitMQ, Redis, Amazon SQS, ORM, LDAP, etc.
Bronnen:
“Celery Documentation”, Celery. https://docs.celeryproject.org
“Django Integration With Celery” Django Celery Integration. https://hackernoon.com/django-integration-with-celery-4dc2c44f65eb.