2010-04-06 3 views
0

Je veux vérifier les dates d'abonnement des utilisateurs pour une certaine période. Et envoyer un mail aux utilisateurs dont l'abonnement est en cours de finition (par exemple, rappelle deux jours). Je pense que le meilleur moyen est d'utiliser le fil et la minuterie pour vérifier les dates. Mais je n'ai aucune idée de comment appeler cette fonction. Je ne veux pas faire un programme ou un shell séparé. Je veux combiner cette procédure avec mon code django. J'ai essayé d'appeler cette fonction dans mon fichier settings.py. Mais il semble que ce ne soit pas une bonne idée. Il appelle la fonction et crée le fil chaque fois que j'ai importé des paramètres.Comment utiliser le fil dans Django

Répondre

1

utilisant Django-cron est beaucoup plus facile et simple

EDIT: Ajout d'une pointe

from django_cron import cronScheduler, Job 
class sendMail(Job): 
     # period run every 300 seconds (5 minutes) 
     run_every = 300 

     def job(self): 
       # This will be executed every 5 minutes 
       datatuple = check_subscription_finishing() 
       send_mass_mail(datatuple) 
//and just register it    
cronScheduler.register(sendMail) 
+0

avez-vous essayé django-cron? des conseils? – Jiaaro

3

C'est le cas de la commande manage.py appelée périodiquement à partir de cron. Oficial doc à propos de la création de ces commandes. Here peu plus utile. Si vous voulez quelque chose de plus simple alors django-command-extensions a des commandes pour gérer django jobs.

2

si vous avez besoin de plus alors seulement celui-emploi asynchrone un coup d'oeil à celery.

Questions connexes