airflow - 气流 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?
解决方案
最好的方法之一是使用定义的池..
假设您有一个名为“specefic_pool”的池并且只为其分配一个插槽。
在您的 dag bash 命令中指定池名称(而不是默认池,请使用新创建的池)通过这种方式,您可能无法同时运行两个 dag。
这有助于在 Dag1 运行时 Dag2 在池空闲之前永远不会被触发,或者如果 dag2 选择池直到 dag2 完成 dag1 不会被触发。
推荐阅读
- html - 你能把一个html项目转换成reactjs吗?
- c++ - 如何从函数访问类对象
- reactjs - React useState 导致无限循环
- angular - “选择器”不是 Angular 库中的已知元素
- javascript - 循环浏览重叠的文本
- powerbi - 如何在 Power Bi 中重新创建使用也包含函数的 Tableau 条件函数?(见示例)
- powershell - 从具有命名列的多维数组到数组
- typescript - Graphql codegen 配置不使用 Glob 表达式加载文档
- google-apps-script - Google App script SyntaxError: Unexpected token '<' when running script
- firebase - XCode 12:找不到“FirebaseCore/FirebaseCore.h”文件,无法构建 Objective-C 模块“Firebase”