如何配置 Airflow dag start_date 以在 cron 中运行任务

MrB*_*son 0 airflow airflow-scheduler

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

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

MrB*_*son 5

我想我从官方文档中找到了我自己问题的答案: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 * * * *')