由于某种原因,Airflow 似乎不会触发具有每周计划间隔的 dag 的最新运行。
当前日期:
$ date
$ Tue Aug 9 17:09:55 UTC 2016
DAG:
from datetime import datetime
from datetime import timedelta
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
dag = DAG(
dag_id='superdag',
start_date=datetime(2016, 7, 18),
schedule_interval=timedelta(days=7),
default_args={
'owner': 'Jon Doe',
'depends_on_past': False
}
)
BashOperator(
task_id='print_date',
bash_command='date',
dag=dag
)
运行调度程序
$ airflow scheduler -d superdag
您预计总共会进行四次 DAG 运行,因为调度程序应在 7/18、7/25、8/1 和 8/8 回填。
不过,最后一次运行尚未安排。
EDIT 1:
我理解 Vineet,尽管这似乎不能解释我的问题。
在上面的示例中,DAG 的开始日期是 7 月 18 日。
- 第一次 DAG 运行:7 月 18 日
- 第二次 DAG 运行:7 月 25 日
- 第三次 DAG 运行:8 月 1 日
- 第四次 DAG 运行:8 月 8 日(未运行)
每次 DAG 运行都会处理上周的数据。
今天是 8 月 9 日,我预计第四次 DAG 运行会以 8 月 8 日的执行日期执行,该运行处理上周(8 月 1 日至 8 月 8 日)的数据,但事实并非如此。