簡體   English   中英

在應用程序中的芹菜(Django)中添加定期任務

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM