默认情况下,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)
每次任务结束时都会调用此方法,无论结果如何,通过检查状态,您只能在任务以成功完成时存储日期或实现最适合您需求的行为。
| 归档时间: |
|
| 查看次数: |
2002 次 |
| 最近记录: |