如何配置 Airflow dag start_date 到 运行 任务,就像在 cron 中一样

How to configure Airflow dag start_date to run tasks like in cron

我是 Airflow 的新手,我正在尝试了解如何正确使用调度程序。基本上我想像使用 cron 一样安排任务。有一项任务需要每 5 分钟执行一次 运行,我希望它在将 DAG 文件添加到 dags 目录或进行一些更改后甚至 5 分钟后的 dag 运行 开始到 dag 文件。

我知道DAG是运行在schedule_interval的末尾。如果我添加一个新的 DAG 并使用 start_date=days_ago(0),那么我将从一天的开始得到不必要的 运行s。在 dag 文件上硬编码一些特定的开始日期也感觉很愚蠢,即 start_date=datetime(2019, 9, 4, 10, 1, 0, 818988)。我的方法是错误的还是有一些特定的原因需要设置 start_date?

我想我从官方文档中找到了我自己问题的答案:https://airflow.apache.org/scheduler.html#backfill-and-catchup

通过关闭追赶,DAG 运行 仅为最近的时间间隔创建。然后我可以将 start_date 设置为过去的任何值并像这样定义 dag:

dag = DAG('good-dag', catchup=False, default_args=default_args, schedule_interval='*/5 * * * *')