【问题标题】:How to define a DAG that scheduler a monthly job together with a daily job?如何定义一个调度每月作业和每日作业的 DAG?
【发布时间】:2019-07-19 01:46:21
【问题描述】:

我不得不

  • 每月更新表格Foo
  • 每天还有一张桌子Bar
  • 每天连接这两个表并将结果插入第三个表Bazz

是否可以配置

  • Foo 在某一天(比如 5 号)更新,
  • Bar 每天更新
  • 并且它们在同一个 DAG 中?

【问题讨论】:

  • 将它们放在单独的 dag 中可能会更好,但您可以让 Foo 检查今天是哪一天,如果不是第五天,它什么也不做,而 Bar 和 Bazz 运行。

标签: airflow


【解决方案1】:

可以使用以下任一方法在单个 DAG 中实现此行为

基本上,您的 DAG 仍会每天运行 (schedule_interval='@daily'),但是

  • 每天只有您的Bar 任务会运行,而Foo 会被跳过(或短路);
  • 直到某个特定的日子(例如每月的 5 日)同时运行。

当然,您也可以将它们建模为单独的 DAG 和 chain them together(而不是单个 DAG 中的单个任务)。这个选择might be better,只要您链接在一起的 DAG 数量很少。


相关:Schedule airflow job bi-weekly

【讨论】:

    猜你喜欢
    • 2013-12-19
    • 2019-09-07
    • 2021-09-02
    • 2020-05-13
    • 1970-01-01
    • 2012-01-11
    • 2020-06-10
    • 2019-06-08
    • 1970-01-01
    相关资源
    最近更新 更多