如何确保我的气流DAG一次运行一天?

时间:2017-12-26 13:11:57

标签: task airflow directed-acyclic-graphs

我想将我的DAG设置为每次运行一天。 我怎样才能做到这一点?

我试过"取决于过去= True",但它只确保随后运行每个任务。我想要的是,如果我从第X天回填,第X天的所有任务都会在第X + 1天的DAG开始之前运行,依此类推。

2 个答案:

答案 0 :(得分:1)

您可以使用max_active_runs来控制活动dag运行的次数。 将其限制为一个应该满足您的用例。

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 :(得分:-1)

查看此页面:https://airflow.apache.org/scheduler.html#dag-runs
您可以使用以下代码设置schedule_interval:0 0 * * *
如果您在几天前使用start_date设置了catchup_by_default = True,则气流将首先回填所有先前的任务,然后根据schedule_interval运行计划