首页 > 解决方案 > 气流 dag 依赖项

问题描述

我有一个气流 dag-1 大约运行一周,dag-2 每天运行几个小时。当 dag-1 运行时,由于 API 限制速率,我无法运行 dag-2(dag-2 也应该在 dag-1 完成后运行)。假设 dag-1 已经在运行,那么应该每天运行的 dag-2 失败了,有没有办法以正确的方式安排 dag 依赖项?当 dag-2 应该启动然后再次运行 dag-1 而无需手动中断时,是否可以暂时(运行时)停止 dag-1?

标签: airflow

解决方案


最好的方法之一是使用定义的池..

假设您有一个名为“specefic_pool”的池并且只为其分配一个插槽。

在您的 dag bash 命令中指定池名称(而不是默认池,请使用新创建的池)通过这种方式,您可能无法同时运行两个 dag。

这有助于在 Dag1 运行时 Dag2 在池空闲之前永远不会被触发,或者如果 dag2 选择池直到 dag2 完成 dag1 不会被触发。


推荐阅读