Skip to content

Commit

Permalink
celery
Browse files Browse the repository at this point in the history
  • Loading branch information
imperosol committed Jan 4, 2025
1 parent 42e64a3 commit 4dda0e0
Show file tree
Hide file tree
Showing 8 changed files with 341 additions and 1 deletion.
2 changes: 2 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ DATABASE_URL=sqlite:///db.sqlite3
#DATABASE_URL=postgres://user:[email protected]:5432/sith
CACHE_URL=redis://127.0.0.1:6379/0

CELERY_BROKER_URL=redis://127.0.0.1:6379/1

MEDIA_ROOT=data
STATIC_ROOT=static

Expand Down
25 changes: 25 additions & 0 deletions docs/explanation/technos.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
14 changes: 14 additions & 0 deletions docs/tutorial/install-advanced.md
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,20 @@ Toutes les requêtes vers des fichiers statiques et les medias publiques
seront 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

Expand Down
257 changes: 256 additions & 1 deletion poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 4dda0e0

Please sign in to comment.