如何确保我的Airflow DAG每天运行一次?

6

我希望将我的DAG设置为每天运行一次。如何实现?

我尝试使用“depends on past=True”,但它只确保每个任务按顺序运行。我想要的是,如果我从X天开始回溯,所有X天的任务都会在X + 1天的DAG可以开始之前运行,以此类推。

2个回答

9
您可以使用max_active_runs来控制活动dag运行的数量。将其限制为1应该满足您的使用情况。
dag = airflow.DAG(
    'customer_staging',
    schedule_interval="@daily",
    dagrun_timeout=timedelta(minutes=60),
    template_searchpath=tmpl_search_path,
    default_args=args,
    max_active_runs=1)

-1
查看this page。您可以通过以下方式设置计划间隔: 0 0 * * *。如果您已经设置了catchup_by_default=True,并且开始日期是几天前,Airflow将首先回溯所有以前的任务,然后根据schedule_interval运行调度。

这个答案并没有解决如何每次运行一天的问题。当使用catchup时,这个答案将允许dag同时运行多天。 - André C. Andersen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接