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

时间:2018-02-05 23:56:21

标签: luigi

使用案例:某些任务是需要数小时的长批量作业,需要在决定首先重新运行的日期之前,查看已完成的内容和指定日期的失败内容。

如何在不运行任何内容的情况下查看中央调度程序生成的依赖关系图?我确实知道我可以简单地重新运行给定日期的图形并且(假设没有任何改变)它将在与上次运行完全相同的位置失败,并且我将能够在调度程序中看到该图形。假设,任务在失败之前需要很长时间。有没有dateTimeStyle参数?

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

还有更好的选择吗?

修改

通过在调用--dry-run时设置--workers=0,我看起来可以得到我需要的内容。这会产生以下消息:

luigi

什么都没有运行,我得到了我的图表。这似乎是一个有用的黑客文件。

1 个答案:

答案 0 :(得分:2)

使用--workers=0运行适用于普通依赖关系图。但是,如果您使用动态依赖关系,那么将忽略这些图节点(动态依赖关系Tasksrun()内产生。

未来的替代方案是静态DAG Visualizer的WIP PR。但是,我怀疑,由于run()执行的必要性,动态依赖关系仍然会被忽略。