1

我从 Luigi 开始,我想知道 Luigi 怎么知道它不应该重新运行任务,因为它已经使用相同的参数成功运行。我通读了文档,但没有找到答案。

假设:

  • Luigi 是否将状态(任务实例及其结果)存储在内存中(它不使用数据库)?那么,当我重新启动调度程序时,它会忘记一切并重新运行所有任务?

  • 或者,Luigi 是否总是为任何计划任务运行task.complete以查看是否应该运行该任务?这意味着complete处理程序应该非常快?

  • 或者,它是否以不同的方式工作?

感谢帮助!

4

1 回答 1

1

啊哈,在task.output中找到了这个:

任务的输出决定了任务是否需要运行——如果输出都存在,则任务被认为已完成。子类应覆盖此方法以返回单个 Target 或 Target 实例列表。

因此,这意味着completeoroutput.exists应该非常非常快。

于 2017-03-05T22:16:08.077 回答