From 15e755334dde6a1ca56ee70ea1af1fba2d480c56 Mon Sep 17 00:00:00 2001 From: Ludovic Stephan Date: Mon, 26 Sep 2016 15:31:09 +0200 Subject: [PATCH] cron --- bda/management/commands/manage_reventes.py | 4 ++++ provisioning/cron.dev | 1 + provisioning/cron.md | 11 +++++++++++ 3 files changed, 16 insertions(+) diff --git a/bda/management/commands/manage_reventes.py b/bda/management/commands/manage_reventes.py index 9fea3f6a..f45357b1 100644 --- a/bda/management/commands/manage_reventes.py +++ b/bda/management/commands/manage_reventes.py @@ -14,6 +14,7 @@ class Command(BaseCommand): def handle(self, *args, **options): now = timezone.now() + self.stdout.write(now) reventes = SpectacleRevente.objects.all() for revente in reventes: # Check si < 24h @@ -22,11 +23,14 @@ class Command(BaseCommand): now >= revente.date + timedelta(minutes=15) and \ not revente.notif_sent: revente.mail_shotgun() + self.stdout.write("Mail de disponibilité immédiate envoyé") # Check si délai de retrait dépassé elif (now >= revente.date + timedelta(hours=1) and not revente.notif_sent): revente.send_notif() + self.stdout.write("Mail d'inscription à une revente envoyé") # Check si tirage à faire elif (now >= revente.expiration_time and not revente.tirage_done): revente.tirage() + self.stdout.write("Tirage effectué, mails envoyés") diff --git a/provisioning/cron.dev b/provisioning/cron.dev index d249d547..6cd2ca81 100644 --- a/provisioning/cron.dev +++ b/provisioning/cron.dev @@ -7,3 +7,4 @@ DBNAME="cof_gestion" DBPASSWD="4KZt3nGPLVeWSvtBZPSM3fSzXpzEU4" 19 */12 * * * date >> /vagrant/rappels.log ; python /vagrant/manage.py sendrappels >> /vagrant/rappels.log 2>&1 +*/5 * * * * python /vagrant/manage.py manage_revente >> /vagrant/reventes.log 2>&1 diff --git a/provisioning/cron.md b/provisioning/cron.md index 8b3f608e..840a8716 100644 --- a/provisioning/cron.md +++ b/provisioning/cron.md @@ -14,3 +14,14 @@ envoyés). - Garde les logs peut être une bonne idée. Exemple : voir le fichier `provisioning/cron.dev`. + +## Gestion des mails de revente + +Il faut effectuer très régulièrement la commande `manage_reventes` de GestioCOF, +qui gère toutes les actions associées à BdA-Revente : envoi des mails de notification, +tirages. + +- Pour l'instant un délai de 5 min est hardcodé +- Garde des logs ; ils vont finir par être assez lourds si on a beaucoup de reventes. + +Exemple : provisioning/cron.dev