如何删除芹菜任务?

时间:2015-11-04 09:21:38

标签: django django-celery

我练习django-celery

settings.py

#import datetime
#CELERYBEAT_SCHEDULE = {
#    'hello_task': {
#        'task': 'hello_task',
#        'schedule': datetime.timedelta(seconds=20),
#    },
#}

import datetime
CELERYBEAT_SCHEDULE = {
    'add-every-30-seconds': {
        'task': 'app1.tasks.myfunc',
        'schedule': datetime.timedelta(seconds=30),
    },
}

我首先尝试hello_task时间表,然后我对其进行评论并尝试add-every-30-seconds

但它仍然希望在hello_task时间到来时执行

所以我检查了数据库,发现它保存了记录

enter image description here

为什么我评论它时不会删除? 是否有任何命令或正常的方法来删除它?

或者如果我只是从数据库删除它很好?

2 个答案:

答案 0 :(得分:1)

如果您正在使用django-celery数据库调度程序,CELERYBEAT_SCHEDULE dict中的那些定期任务将被添加到Django的数据库中,如您所知。然后,django-celery的调度程序主要从数据库中读取其设置。从dict中删除条目只意味着django-celery无法添加到数据库中。

要正确删除任务,请将其从Django管理页面(Djcelery>定期任务)中删除。

答案 1 :(得分:0)

当您更改芹菜正在使用的代码时,您应该重新启动芹菜以了解更改。比如每当你改变你的python代码时都需要重启django服务器。