我是气流新手,我正在努力了解如何正确使用调度程序。基本上,我希望以与使用cron相同的方式安排任务。有一个任务需要每5分钟运行一次,我希望在我将dag文件添加到dag目录或对dag文件进行一些更改后,该任务在dag运行下一个5分钟的时间段开始。
我知道DAG在schedule_interval结束时运行。如果我添加一个新的DAG并使用start_date=days_ago(0),那么我将从一天开始获得不必要的运行。在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 * * * *')