【问题标题】:Prevent Scheduler from starting overlapping task防止调度程序启动重叠任务
【发布时间】:2019-07-26 22:00:51
【问题描述】:

airflow.cfg:

# airflow version = 1.10.1
executor = LocalExecutor
parallelism = 32
dag_concurrency = 16

还有一个 dag.py:

with DAG('mydag', schedule_interval="@hourly") as dag:
    # define tasks

但有时我的任务比我的schedule_interval 需要更长的时间才能完成,并且气流会在前一个任务完成之前安排下一个任务。

这导致了各种糟糕的竞争条件。

有没有一种方法可以明确地防止安排重叠的任务?即使这意味着完全跳过跑步?

【问题讨论】:

    标签: airflow airflow-scheduler


    【解决方案1】:

    EDIT-1

    根据comment by @Chengzhi更新

    虽然上面可能会解决您的问题,但如果您希望完全跳过重叠的 DagRuns,请使用

    【讨论】:

    • 添加到@y2k-shubham 点:max_active_runs_per_dag 是所有 dag 的默认值,如果您想在特定 dag 上执行此操作,请在 DAG 级别 (github.com/apache/airflow/blob/v1-10-stable/airflow/models/…) 上覆盖它,如果您不这样做'不要太在意每次dag_run,将catchup设置为False可以避免每次触发的背压。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-15
    • 1970-01-01
    相关资源
    最近更新 更多