具有`start_date` (可能是`end_date` )和`schedule_interval`的 Airflow DAG 定义了一系列间隔,调度程序将这些间隔转换为单独的 Dag 运行并执行。 Airflow 的一个关键功能是这些 DAG 运行是原子的幂等项,默认情况下,调度程序将检查 DAG 的生命周期(从开始到结束/现在,一次一个间隔)并启动 DAG 运行对于尚未运行(或已被清除)的任何间隔。 这个概念叫做 Catchup。
如果你的 DAG 被编写来处理它自己的追赶(IE 不仅限于间隔,而是改为“现在”。),那么你将需要关闭追赶(在 DAG 本身上使用`dag.catchup = False` )或者默认情况下在配置文件级别使用`catchup_by_default = False` 。 这样做,是指示调度程序仅为 DAG 间隔序列的最新实例创建 DAG 运行。
默认情况下启用对时区的支持。 Airflow 在内部处理和数据库中以 UTC 格式存储日期时间信息。 这样您就可以在调度中执行带有时区的 DAG。 目前,Airflow 不支持在 Web UI 中显示最终用户时区,它始终以UTC显示。 此外,`Operator`中使用的模板也不会被转换。 时区信息取决于 DAG 作者如何使用它。
默认情况下启用对时区的支持。 Airflow 在内部处理和数据库中以 UTC 格式存储日期时间信息。 这样您就可以在调度中执行带有时区的 DAG。 目前,Airflow 不支持在 Web UI 中显示最终用户时区,它始终以 UTC 显示。 此外,`Operator`中使用的模板也不会被转换。 时区信息取决于 DAG 作者如何使用它。
*`concurrency` :Airflow 调度程序在任何给定时间都将为您的 DAG 运行不超过`$concurrency`任务实例。 并发性在 Airflow DAG 中定义。 如果未在 DAG 上设置并发性,则调度程序将使用`dag_concurrency`条目的缺省值。
*`max_active_runs` :在给定时间,Airflow 调度程序将运行不超过 DAG 的`max_active_runs` DagRuns。 如果未在 DAG 中设置`max_active_runs` ,则调度程序将使用`airflow.cfg``max_active_runs_per_dag`条目的缺省值。