2017-06-09 67 views
0

我正在用Django編程灌溉系統,我使用Celery來處理異步任務。如何從django前端安排任務?

在我的應用程序中,用戶選擇他想要激活灌溉的日期和時間,這存儲在數據庫中,他可以隨時更新它們。

我知道我可以安排這樣的任務,但我想更新時間。

from celery.task.schedules import crontab 
from celery.decorators import periodic_task 

@periodic_task(run_every=crontab(hour=7, minute=30, day_of_week="mon")) 
def every_monday_morning(): 
    print("This runs every Monday morning at 7:30a.m.") 

另一種方法是使用Python-的crontab

+0

您可以創建具有特定日期(以秒爲單位)的芹菜作業。唯一需要的是使用倒數參數調用apply_async。 http://docs.celeryproject.org/en/latest/userguide/calling.html#eta-and-countdown –

+0

可以推薦Python APScheduler工作得很好 – cardamom

回答

0

沒有類似的東西由具有運行表,列出了我想跑時可用從Django的選擇。

定期任務本身計劃爲每30秒運行一次,並檢查此表中是否有任何請求已準備好執行並調用其中一個工作者。

+1

歡迎來到StackOverflow。你能否在這裏提供一個代碼示例,以使這個答案更高質量? – Graham