【发布时间】:2018-09-20 09:18:34
【问题描述】:
如何安排 dag 有一个工作日的执行日期,但有一个第二天的开始日期,这不一定是工作日?
我的理由是,我会在每个工作日结束时获取数据,我想在第二天一大早处理这些数据。气流common pitfalls 将执行日期描述为数据所属的日期,而开始日期是您运行 ETL 的日期。
例如:我希望一系列 dag 运行具有以下执行和开始日期 -
DAG start_date Task Started Task execution_date
2018-01-01 2018-01-02 Tues 2018-01-01 Mon
2018-01-03 Wed 2018-01-02 Tues
2018-01-04 Thur 2018-01-03 Wed
2018-01-05 Fri 2018-01-04 Thur
2018-01-06 Sat 2018-01-05 Fri
2018-01-06 Tues 2018-01-08 Mon
我设法做到这一点的最接近的方法是使用时间表:0 2 * * TUE-SAT,它的执行日期(星期六)错误,在星期二开始时(见下文)
DAG start_date Task Started Task execution_date
2018-01-01 2018-01-03 Wed 2018-01-02 Tues
2018-01-04 Thur 2018-01-03 Wed
2018-01-05 Fri 2018-01-04 Thur
2018-01-06 Sat 2018-01-05 Fri
2018-01-09 Tues 2018-01-06 Sat
或时间表:0 2 * * MON-FRI 直到星期一才在星期五运行 DAG,我需要在周末获得结果。
DAG start_date Task Started Task execution_date
2018-01-01 2018-01-02 Tues 2018-01-01 Mon
2018-01-03 Wed 2018-01-02 Tues
2018-01-04 Thur 2018-01-03 Wed
2018-01-05 Fri 2018-01-04 Thur
2018-01-08 Mon 2018-01-05 Fri
2018-01-06 Tues 2018-01-08 Mon
【问题讨论】:
标签: python airflow airflow-scheduler