【问题标题】:A luigi task fails if the next file is already completed如果下一个文件已经完成,则 luigi 任务失败
【发布时间】:2020-09-18 03:44:54
【问题描述】:

我有一个使用 Luigi 构建的管道,其中一些任务需要其他任务,每个任务都会创建一个文件。 比如:

TaskA-------->TaskB---------> TaskC-------->TaskD
(fileA)      (fileB)         (fileC)       (fileD)

我第一次运行管道时,一切都运行良好并被创建。

如果我再次运行管道,因为 TaskD 已经完成,所以什么都不会运行。

如果我手动删除 fileB(由 TaskB 创建),我希望它会被重新创建并且其他所有东西都在运行但管道失败。

是的,fileB 被重新创建,但 TaskC 失败,错误消息指出 fileC 已经存在。

有没有办法重新创建后续文件?还是fileC被覆盖?

【问题讨论】:

    标签: python pipeline luigi


    【解决方案1】:

    您所描述的正是 Luigi 的运行方式。当您指定要运行的任务时(在luigi.build 或 cli 中),您正在指定需要完成哪些任务才能让 Luigi 认为其工作已完成。除非你告诉它,否则 Luigi 不会关心你的管道。一种方法是通知 Luigi 你关心的所有任务,在这种情况下似乎是 TaskB 和 Task D。所以,它看起来像:

    luigi.build([TaskD(...), TaskB(...)])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-08
      • 2018-07-12
      • 2019-04-30
      • 1970-01-01
      相关资源
      最近更新 更多