使用celery,是否有可能從任務內檢查上次執行任務的時間是?芹菜:獲取上次運行任務的時間?
我想實施「抓住你上次運行以來的一切」。我可以自己跟蹤最後一次運行時間戳,或者希望能夠從芹菜進入。
這是從一個django項目,如果這有所作爲。
使用celery,是否有可能從任務內檢查上次執行任務的時間是?芹菜:獲取上次運行任務的時間?
我想實施「抓住你上次運行以來的一切」。我可以自己跟蹤最後一次運行時間戳,或者希望能夠從芹菜進入。
這是從一個django項目,如果這有所作爲。
默認情況下,芹菜不會永久存儲任務結果,如果您在節拍模式下運行,某些乾淨的進程將運行乾淨的任務結果以及執行信息。 想我建議你是使用NoSQL的店面每一個最後執行日期,您可以通過覆蓋在你的任務做到這一點的方法after_return
def after_return(self, status, retval, task_id, args, kwargs, einfo):
#exit point for context managers
self.taskLogger.__exit__(status, retval, task_id, args, kwargs, einfo)
這種方法被稱爲每次任務結束時,有任何結果,通過檢查你的日期狀態,只有在任務完成後才能存儲你的日期,或者實現最符合你需要的行爲。
如果您使用的是django-celery,last_run at會保存在模型中。使用正常的django ORM使用您的任務名稱來過濾PeriodicTask模型。
from djcelery.models import PeriodicTask
last_run = PeriodicTask.objects.only('last_run_at').get(task='TASK_NAME_HERE').last_run_at
這隻適用於定期任務。 – navyad