如何创建 luigi 依赖图但不运行任何东西?

use*_*854 5 luigi

用例:某些任务是需要数小时的长批处理作业,需要在决定首先重新运行哪个日期之前查看给定日期完成的任务和失败的任务。

如何在不运行任何东西的情况下查看中央调度器生成的依赖图?我确实意识到我可以简单地重新运行给定日期的图表,并且(假设没有任何变化)它将在与上次运行完全相同的地方失败,并且我将能够在调度程序中看到图表。假设一个任务需要很长时间才能失败。有没有类似的--dry-run争论?

我还可以创建一个空的“切换开关”任务,该任务将根据输入参数失败或完成。但是,我需要记住让每个任务都依赖于它 - 容易忽视(可以通过子类化解决)但也会造成混乱。

有没有更好的选择可以考虑?

编辑:

看起来我可以通过--workers=0在调用luigi. 这会导致以下消息:

Did not run any tasks
This progress looks :| because there were tasks that were not granted run permission by the scheduler
Run Code Online (Sandbox Code Playgroud)

什么都没有运行,我得到了我的图表。在这里记录似乎是一个有用的技巧。

dls*_*her 3

运行 with--workers=0适用于正常的依赖图。但是,如果您使用动态依赖关系,这些图形节点将被忽略(动态依赖关系Tasksrun().

未来的替代方案是静态 DAG 可视化工具的WIP PR 。然而,我怀疑考虑到执行的必要性,动态依赖关系仍然会被忽略run()