如何删除芹菜任务?

How to remove celery task ?

我练习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 schedule,然后我评论它并尝试add-every-30-seconds

但是hello_task时间到了

还是要执行

所以我查了下数据库,发现是把记录存进去了

为什么我评论的时候不删?? 有什么命令或正常方法可以删除它吗???

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

如果您使用 django-celery 数据库调度程序,CELERYBEAT_SCHEDULE dict 中的那些周期性任务将被添加到 Django 的数据库中,如您所见。然后 django-celery 的调度程序主要从数据库中读取它的设置。从字典中删除条目仅意味着 django-celery 没有任何内容可添加到数据库中。

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

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