气流:并发深度优先,而不是广度优先? [英] Airflow: Concurrency Depth first, rather than breadth first?
本文介绍了气流:并发深度优先,而不是广度优先?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在Airflow中,默认配置似乎是将任务并行排队,时间跨过几天--从一天到下一天。
然而,如果我将这个过程加快,比如说两年,那么气流DAG将首先在所有的日子里通过初步过程,而不是像这样,从开始到结束同时花费4天的时间。如何切换气流以根据深度优先范式而不是广度优先范式执行任务?
推荐答案
我也遇到过类似的情况。我使用以下技巧实现了深度优先行为。
- 将DAG的所有任务分配给single
pool
(插槽数量有限,比如20-30) - 将上述所有任务设置为
weight_rule=upstream
说明
- 上游Weight_Rule根据任务在整个工作流范围内的位置颠倒任务的优先顺序,从而使所有下游任务的优先级高于上游任务。
- 这将确保启动任何分支都将在选择下一个分支之前完成,从而实现深度优先行为
这篇关于气流:并发深度优先,而不是广度优先?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文