catchup 的意外 Dag 时间表 = false

Unexpected Dag schedules for catchup=false

我正在学习 Airflow 的基础知识(apache-airflow==1.10.1,MacBook OSX)并且无法理解为 dag 运行创建的实际计划。

使用单个 PythonOperator 创建了一个简单的 DAG:

系统导致以下 dag 运行 (execution_date, /start_date)

  1. (2019-01-14 01:57:10.404054, 2019-01-14 02:17:10.410499)

  2. (2019-01-14 02:07:10.404054, 2019-01-14 02:17:12.226403)

  3. (2019-01-14 02:17:10.404054,2019-01-14 02:27:11.797695)

考虑到,我在 2019-01-14T02:17:10 左右激活了时间表(今天是世界标准时间 2019 年 1 月 14 日凌晨 2:17:10),我原以为系统只会在第 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
       )

非常感谢!

我相信按照计划新创建的 airflow dag 会在创建时自动 运行。您最初是在 1:57 创建 dag 吗?这可以解释第 1 行 运行.

我已经在

中详细解释了这一点

有一个 bug 创建了额外的 DagRun,它已在 Airflow Master 中修复,并将在 Airflow 1.10.11 中可用