2015-11-04 80 views
1

我練習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時機成熟

所以我檢查數據庫,發現它保存了記錄int it

enter image description here

爲什麼它不會刪除當我評論它? 有沒有任何命令或正常的方法來刪除它?

或者如果我只是從數據庫中刪除它很好?

回答

0

如果您使用的是django-celery數據庫調度程序,那麼CELERYBEAT_SCHEDULE字典中的那些週期性任務將被添加到Django的數據庫中,正如您發現的那樣。然後,django-celery的調度程序主要從數據庫讀取其設置。從字典中刪除條目僅意味着django-celery沒有任何要添加到數據庫中。

要正確刪除任務,請將其從Django管理頁面(Djcelery> Periodic Tasks)中刪除。

0

當您更改芹菜使用的代碼時,應該重新啓動芹菜以瞭解更改。比如在你改變python代碼時需要重啓django服務器。