【问题标题】:Airflow backfill not working气流回填不起作用
【发布时间】:2016-11-11 09:57:28
【问题描述】:

我正在使用气流运行工作流 DAG。我设置的开始日期是 2014 年 5 月 26 日,schedule_interval 是 1 天,没有结束日期,它使用的是 Celery Executor。 Airflow 从给定日期开始运行我的任务,并按预期从开始日期开始每天递增。

但问题是,它只会在开始日期后的 16 天内安排和运行 dags,然后停止。我必须重新启动调度程序服务才能安排下一组 dags 并运行。

我已经修改了下面的属性,在airflow.cfg中将它们设置为更高,但它仍然不起作用,

dag_concurrency = 9999
max_active_runs_per_dag = 9999
parallellism = 9999
celeryd_concurrency = 4

我的要求是让气流从开始日期到当前日期执行我的任务。看起来它可以运行的 dag 数量有限制,但我无法弄清楚。请提出建议。

我的气流版本是 1.7.1.2

【问题讨论】:

    标签: python-2.7 scheduler airflow


    【解决方案1】:

    不确定我的理解是否正确,您想从某个日期到接下来的 16 天运行一项日常工作吗? 如果是这样,它与 airflow.cfg 没有任何关系,如果您有很多 Dag,您发布的设置实际上可能会“杀死”您的机器,这是关于任务实例的将并行运行和调度。

    我猜你需要定义一个start_dateend_date。 您可以在构建将负责该工作的 DAG 时执行此操作。 一种方法是定义 default_args,然后在你的 dag 上使用它们。

    default_args = {
         'owner': 'userXX',
         'start_date': datetime(2014, 05, 26),
         'end_date': datetime(2014, 06, 11),
         'email': ['mail1..','mail2...'],
        ...
    }
    
    mydag = DAG(
               PARENT_ID, default_args=default_args,
               schedule_interval="@daily",
               user_defined_macros=user_defined_macros
    )
    
    _some_Operator(
                    task_id='task_idxx',
                    .. other settings/jobrun...
                    dag=mydag,
    
                )
    

    希望对你有帮助

    【讨论】:

    • 在您的评论中将start_date 打错至end_date
    • 我遇到了同样的问题,这两个参数没有帮助:(
    猜你喜欢
    • 2017-02-14
    • 2020-02-21
    • 1970-01-01
    • 2016-12-15
    • 1970-01-01
    • 1970-01-01
    • 2021-11-30
    • 2018-10-18
    • 1970-01-01
    相关资源
    最近更新 更多