Skip to content
Snippets Groups Projects
Commit 893478c7 authored by florimondmanca's avatar florimondmanca
Browse files

1to1 between school and address, document how to start celery with supervisor

parent 673c71bb
No related branches found
No related tags found
No related merge requests found
...@@ -164,6 +164,29 @@ $ curl -X GET "localhost:8000/api/articles/" -H "Authorization: Token b6302cebe7 ...@@ -164,6 +164,29 @@ $ curl -X GET "localhost:8000/api/articles/" -H "Authorization: Token b6302cebe7
[{"id": 39, "content": ...}, ...] [{"id": 39, "content": ...}, ...]
``` ```
### Tâches de fond
Le daemon Celery gère le calendrier tâches de fond (nettoyage des fichiers de médias non-utilisés ou autres tâches définies dans le `settings.py`). Pour fonctionner, Celery nécessite un serveur de messages, on utilise ici Redis.
Les opérations nécessaires pour lancer Celery ainsi que la configuration avec Redis sont rassemblées dans le fichier `supervisord.conf`. Assurez-vous donc d'avoir installé Redis et Supervisor puis démarrez Supervisor au même niveau que le fichier `supervisord.conf` :
```
# Supervisor ne supporte toujours pas officiellement Python 3,
# mais la dernière version de développement oui.
$ pip install git+https://github.com/Supervisor/supervisor.git
$ supervisord
```
Pour accéder aux derniers logs de Celery ou de Redis, utilisez `supervisorctl tail (celery|redis)`:
```
$ supervisorctl tail celery
[2018-04-29 10:59:31,550: INFO/MainProcess] Connected to redis://localhost:6379//
[2018-04-29 10:59:31,566: INFO/MainProcess] mingle: searching for neighbors
[2018-04-29 10:59:32,601: INFO/MainProcess] mingle: all alone
[2018-04-29 10:59:32,657: INFO/MainProcess] celery@MacBook-Pro-de-Florimond-2.local ready.
```
## Dépendances ## Dépendances
### Django ### Django
......
# Generated by Django 2.0.4 on 2018-04-29 08:53
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('tutoring', '0002_auto_20180421_1425'),
]
operations = [
migrations.AlterField(
model_name='school',
name='address',
field=models.OneToOneField(help_text='Adresse complète du lycée', null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.Address', verbose_name='adresse'),
),
]
...@@ -126,7 +126,7 @@ class School(models.Model): ...@@ -126,7 +126,7 @@ class School(models.Model):
"l'annuaire des établissements sur le site du " "l'annuaire des établissements sur le site du "
"ministère de l'Éducation Nationale.")) "ministère de l'Éducation Nationale."))
address = models.ForeignKey( address = models.OneToOneField(
'core.Address', on_delete=models.SET_NULL, verbose_name='adresse', 'core.Address', on_delete=models.SET_NULL, verbose_name='adresse',
null=True, help_text='Adresse complète du lycée') null=True, help_text='Adresse complète du lycée')
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment