2013-01-03 3 views
0

Comment un objet de modèle se supprimerait-il 60 secondes après son initialisation? Je sais que vous pouvez surcharger la méthode delete() pour la faire dormir pendant 60 secondes avant de supprimer l'objet. Cependant, si j'ai fait un appel de méthode à delete() dans une vue. Ne finirait-il pas de caler la vue pendant 60 secondes avant de continuer? Alors, comment pourrais-je faire cela sans m'inquiéter de ces étals?Objet du modèle à suppression automatique Django

Répondre

1

Peut être que vous pouvez démarrer un nouveau thread, attendez 60 secondes et supprimez l'objet. Donc, la vue ne sera pas bloquée.

Une autre approche serait d'utiliser un gestionnaire de tâches asynchrone comme Celery pour démarrer une nouvelle tâche pour supprimer l'objet après 60 secondes.

3

Placez un champ booléen 'to_be_deleted' dans le modèle et configurez un travail cron pour qu'il s'exécute toutes les 60 secondes afin de supprimer toutes les instances avec l'ensemble d'indicateurs.

Questions connexes