使用 celery , 是否可以从任务中检查上次运行该任务的时间?
我想实现“抓取自上次运行以来的所有内容”。我可以自己跟踪上次运行的时间戳,也可以希望从 celery 访问它。
这是来自 django 项目,如果有区别的话。
最佳答案
默认情况下,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)
每次任务结束时都会调用此方法,无论结果如何,通过检查状态,您可以仅在任务成功完成或实现最适合您需要的行为时存储您的日期。
关于python - Celery:获取上次运行任务的时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6837617/