芹菜:访问上次运行任务的时间?

Par*_*and 5 python django celery

使用celery,是否可以在任务中检查上次运行任务的时间是多少?

我想实施"自上次运行以来抓住所有东西".我可以自己跟踪上次运行时间戳,也可以从芹菜中获取它.

这是来自django项目,如果这有所作为.

Mau*_*cco 3

默认情况下,celery 没有永久存储任务结果,如果您在节拍模式下运行,一些干净的进程将运行以获取干净的任务结果和执行信息。我建议你使用 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)
Run Code Online (Sandbox Code Playgroud)

每次任务结束时都会调用此方法,无论结果如何,通过检查状态,您只能在任务以成功完成时存储日期或实现最适合您需求的行为。