Django-fr

Forum

#1 14-03-2015 21:06:37

Alone9
Membre
Inscription : 29-08-2014
Messages : 32

Condition sur un model

Salut,

j'ai créé un Model qui sauvegarde des pièces que les Users peuvent jouer ou envoyer(DecimalField) et un champ statut(CharField/ChoiceField) qui défini si l'User est  " actif "  ou  " semi-actif " . L'User est à semi-actif par défaut et je voudrais que si il joue 3 pièce en une fois ou plusieurs, l'User passe en  " actif "  pendant 3 jours et si il ne joue pas de pièce pendant c'est 3 jours il redevient  " semi-actif " .

Comment je peux faire pour avoir ce résultat.

Hors ligne

#2 16-03-2015 13:32:11

Xavier Ordoquy
Administrateur
Lieu : Puteaux, France
Inscription : 12-10-2011
Messages : 312
Site Web

Re : Condition sur un model

Bonjour,

Un script période (crontab ou autre) devrait suffire pour faire repasser un utilisateur en semi actif.

Hors ligne

#3 18-03-2015 03:20:12

Alone9
Membre
Inscription : 29-08-2014
Messages : 32

Re : Condition sur un model

Ok merci je vais chercher.

Hors ligne

#4 18-03-2015 10:52:34

Jaals
Membre
Inscription : 19-07-2013
Messages : 14

Re : Condition sur un model

Salut,

Parmi le "autre" de Xavier, je verrais bien une tâche périodique Celery. On peut l'intégrer assez facilement avec Django, et on peut notamment réutiliser les modèles.

Hors ligne

#5 19-03-2015 08:43:04

Xavier Ordoquy
Administrateur
Lieu : Puteaux, France
Inscription : 12-10-2011
Messages : 312
Site Web

Re : Condition sur un model

Note que l'installation de celery n'est pas neutre. Plus de paquets à installer, un démon supplémentaire à superviser...

Hors ligne

#6 28-03-2015 22:40:50

Alone9
Membre
Inscription : 29-08-2014
Messages : 32

Re : Condition sur un model

J'ai installé celery, fait les paramétrés indiquer mais je ne comprends pas même avec google traduction. En faite c'est surtout que je n'arrive pas à démarrer le serveur.

celery -A test01 worker

ou

celery -A test01 beat

ou

python manage.py runserver

Avec "python manage.py runserver" je ne sais pas si il lance celery vu que sinon à quoi servent les autre commande.

Hors ligne

#7 30-03-2015 10:51:06

Jaals
Membre
Inscription : 19-07-2013
Messages : 14

Re : Condition sur un model

Salut,

Celery et Django fonctionnent indépendamment. Il faut donc démarrer à la fois Celery à l'aide de la commande :

celery -A test01 beat

puis Django à l'aide de la commande :

python manage.py runserver

Hors ligne

#8 30-03-2015 18:53:22

Alone9
Membre
Inscription : 29-08-2014
Messages : 32

Re : Condition sur un model

D'accord merci, mais "celery -A test01 worker" sert à quoi alors ?

Hors ligne

#9 31-03-2015 10:16:01

Jaals
Membre
Inscription : 19-07-2013
Messages : 14

Re : Condition sur un model

Elle sert à lancer le worker Celery qui exécute les tâches non périodiques.

Hors ligne

Pied de page des forums