使用celery,是否可以在任务中检查上次运行任务的时间是多少?
我想实施“自上次运行以来抓住所有东西”.我可以自己跟踪上次运行时间戳,也可以从芹菜中获取它.
这是来自django项目,如果这有所作为.
最佳答案
默认情况下,celery没有永久存储任务结果,如果您在节拍模式下运行,一些干净的进程将运行干净的任务结果以及执行信息.
我想建议您在每个上次执行日期使用Nosql存储,您可以通过在任务中覆盖after_return方法来执行此操作
原文链接:https://www.f2er.com/python/439174.html我想建议您在每个上次执行日期使用Nosql存储,您可以通过在任务中覆盖after_return方法来执行此操作
def after_return(self,status,retval,task_id,args,kwargs,einfo):
#exit point for context managers
self.taskLogger.__exit__(status,einfo)
每次任务结束时都会调用此方法,任何结果,只有在任务完成SUCCESS或实现最符合您需求的行为时,才能检查您可以存储日期的状态.