【问题标题】:What happens if an airflow DAG is changed?如果更改气流 DAG 会发生什么?
【发布时间】:2020-12-05 10:05:09
【问题描述】:

Airflow 监控新 DAG 的 DAG 位置并(每分钟左右)拾取它们,而无需重新启动。

如果更新的 dag 定义上传到 dag 位置会发生什么?

假设我有一个名为“foodag”的 dag,它生成 1 个文件并每小时运行一次。在 0100 时,我部署了一个新版本的“foodag”,它现在生成 2 个文件。目前有一个从 0100 开始运行,另一个从 0200 开始。

在 0100 运行会生成多少文件?这里有比赛条件吗? 0200 的那个呢?

【问题讨论】:

    标签: airflow


    【解决方案1】:

    如果您在 DAG 当前运行时部署 DAG 的新版本,则当前运行的 DAG (0100) 将运行旧版本(生成 1 个文件)。下一次运行 (0200) 将具有最新版本(生成 2 个文件)。

    【讨论】:

      【解决方案2】:

      Haowen Chan,你的问题太简洁了——前提不正确。我强烈建议阅读气流初学者教程和最佳实践; Udemy 在这方面也有很棒的课程。这是在开发之前了解的基础。

      “假设我有一个名为 'foodag' 的 dag” 不清楚 foodag 是文件名还是 dag id 或两者的组合。根据用例,dag_id 和文件可能都需要进行版本控制(以及 dag 的开始和结束日期)。

      1. 更改是否是需要修复过去数据的错误修复?
      2. 这个新的 f(x) 是从现在开始才出现的吗?
      3. 如果需要再次运行,过去的结果是否需要确定性?

      看到这个 Efficient way to deploy dag files on airflow

      【讨论】:

        猜你喜欢
        • 2022-08-18
        • 1970-01-01
        • 1970-01-01
        • 2011-08-24
        • 2013-11-08
        • 2023-03-25
        • 2017-03-31
        • 2014-10-28
        • 1970-01-01
        相关资源
        最近更新 更多