气流回填不起作用
Posted
技术标签:
【中文标题】气流回填不起作用【英文标题】: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
【问题讨论】:
【参考方案1】:不确定我的理解是否正确,您想从某个日期到接下来的 16 天运行一项日常工作吗? 如果是这样,它与 airflow.cfg 没有任何关系,如果您有很多 Dag,您发布的设置实际上可能会“杀死”您的机器,这是关于任务实例的将并行运行和调度。
我猜你需要定义一个start_date和end_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
。
我遇到了同样的问题,这两个参数没有帮助:(以上是关于气流回填不起作用的主要内容,如果未能解决你的问题,请参考以下文章