[英]Adding periodic tasks in celery (django) inside an app
在celery 4>中, periodic_task
裝飾器已棄用。 現在的建議是定義初始化celery的內部每個定期任務(根據我能找到的內容和docs )。
在django設置中,我有很多小型應用程序,而在設置周期任務的中心位置卻無法做到。
我仍然在學習芹菜的方法,但是我認為我的解決方案是“好的”。 這是解決此問題的錯誤方法,還是periodic_task
消失了還有另一種方法?
from celery.schedules import crontab
from lib.celery_instance import app # The celery instance
@app.task()
def mytask():
# do something...
return 123
app.add_periodic_task(crontab(hour=8, minute=45), mytask.s())
集中管理定期任務的另一種方法可以是在設置中定義命令。
CELERY_BEAT_SCHEDULE = {
'some name': {
'task': 'myapp.tasks.do_something',
'schedule': crontab(hour=0, minute=0),
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.