我正在学习Airflow的基础知识(apache-airflow == 1.10.1,MacBook OSX),无法理解为dag运行创建的实际时间表。
使用单个PythonOperator创建了一个简单的DAG:
start_date
schedule_interval
:每10分钟安排一次catchup
是错误的,因为我不想要进行任何回填系统将导致以下dag运行(执行日期,/开始日期)
(2019-01-14 01:57:10.404054,2019-01-14 02:17:10.410499)
(2019-01-14 02:07:10.404054,2019-01-14 02:17:12.226403)
(2019-01-14 02:17:10.404054,2019-01-14 02:27:11.797695)
考虑到这一点,我在2019-01-14T02:17:10
(今天是UTC 14 Jan 19 @ 2:17:10am)附近激活了时间表,我期望系统仅在#2和3行中创建时间表。第1行中的第一个??
这里的代码:
default_args = {
'owner': 'ga_mp', 'depends_on_past': False,
'start_date': datetime(2019, 1, 10, 4, 20, 00),
}
dag = DAG(dag_id = 'my_dag_v1',
default_args=default_args,
schedule_interval=timedelta(minutes=10),
catchup=False
)
非常感谢!
答案 0 :(得分:1)
我已经在https://stackoverflow.com/a/61740904/5691525
中对此进行了详细解释有一个bug创建了额外的DagRun,它已在Airflow Master中修复,并将在Airflow 1.10.11中可用
答案 1 :(得分:0)
我相信,按照计划创建的新的气流障碍在创建后会自动运行。您最初是在1:57创造了dag吗?这可能解释了第1行的运行情况。