mirror of
https://github.com/ae-utbm/sith.git
synced 2025-07-09 19:40:19 +00:00
celery
This commit is contained in:
@ -131,6 +131,31 @@ de données fonctionnent avec l'un comme avec l'autre.
|
||||
Heureusement, et grâce à l'ORM de Django, cette
|
||||
double compatibilité est presque toujours possible.
|
||||
|
||||
### Celery
|
||||
|
||||
[Site officiel](https://docs.celeryq.dev/en/stable/)
|
||||
|
||||
Dans certaines situations, on veut séparer une tâche
|
||||
pour la faire tourner dans son coin.
|
||||
Deux cas qui correspondent à cette situation sont :
|
||||
|
||||
- les tâches longues à exécuter
|
||||
(comme l'envoi de mail ou la génération de documents),
|
||||
pour lesquelles on veut pouvoir dire à l'utilisateur
|
||||
que sa requête a été prise en compte, sans pour autant
|
||||
le faire trop patienter
|
||||
- les tâches régulières séparées du cycle requête/réponse.
|
||||
|
||||
Pour ça, nous utilisons Celery.
|
||||
Grâce à son intégration avec Django,
|
||||
il permet de mettre en place une queue de message
|
||||
avec assez peu complexité ajoutée.
|
||||
|
||||
En outre, ses extensions `django-celery-results`
|
||||
et `django-celery-beat` enrichissent son intégration
|
||||
avec django et offrent des moyens de manipuler certaines
|
||||
tâches directement dans l'interface admin de django.
|
||||
|
||||
## Frontend
|
||||
|
||||
### Jinja2
|
||||
|
@ -279,6 +279,20 @@ Toutes les requêtes vers des fichiers statiques et les medias publiques
|
||||
seront servies directement par nginx.
|
||||
Toutes les autres requêtes seront transmises au serveur django.
|
||||
|
||||
## Celery
|
||||
|
||||
Celery ne tourne pas dans django.
|
||||
C'est une application à part, avec ses propres processus,
|
||||
qui tourne de manière indépendante et qui ne communique
|
||||
que par messages avec l'instance de django.
|
||||
|
||||
Pour faire tourner Celery, faites la commande suivante dans
|
||||
un terminal à part :
|
||||
|
||||
```bash
|
||||
poetry run celery -A sith worker --beat -l INFO
|
||||
```
|
||||
|
||||
|
||||
## Mettre à jour la base de données antispam
|
||||
|
||||
|
Reference in New Issue
Block a user