如何删除芹菜任务?
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 服务器。
我练习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 服务器。