2013-05-21 1 views
1

j'ai programmé une tâche à l'aide en le définissant comme si le céleri django (de djcelery):tâches Djcelery encore programmées même après le retrait de la tâche

@periodic_task(run_every=timedelta(minutes=1)) 
def mytask(): 
    # Do something 

j'ai décidé de supprimer cette tâche de la base de code.

Cependant, même après avoir redémarré le serveur de céleri, cette tâche continue à être planifiée toutes les minutes, bien qu'elle signale un message d'erreur car cette tâche n'existe plus. Dois-je faire quelque chose pour effacer les anciennes tâches périodiques de la base de données djcelery, en plus de redémarrer le serveur?

Répondre

2

Vous devrez peut-être également supprimer votre tâche de la table djcelery_periodictask.

+0

Merci. Cela a fonctionné, mais il semble inintéressant que vous deviez le supprimer manuellement lorsque vous redémarrez le serveur céleri. Est-ce vraiment le comportement par défaut? – zimkies

+0

C'est le comportement par défaut si vous utilisez le planificateur de base de données Django. Supprimez les tâches périodiques dont vous n'avez pas besoin de l'administrateur Django ou utilisez plutôt le planificateur par défaut. –

Questions connexes