【发布时间】:2018-07-27 12:50:12
【问题描述】:
我们使用的是 Airflow v 1.9.0。我们有 100 多个 dags,实例真的很慢。调度程序仅启动一些任务。
为了减少CPU使用量,我们想调整一些配置参数,即:min_file_process_interval和dag_dir_list_interval。 documentation 不是很清楚两者的区别
【问题讨论】:
标签: airflow
我们使用的是 Airflow v 1.9.0。我们有 100 多个 dags,实例真的很慢。调度程序仅启动一些任务。
为了减少CPU使用量,我们想调整一些配置参数,即:min_file_process_interval和dag_dir_list_interval。 documentation 不是很清楚两者的区别
【问题讨论】:
标签: airflow
min_file_process_interval:
在只有少量 DAG 定义文件的情况下,循环可能会在一分钟内多次处理 DAG 定义文件。要控制 DAG 文件处理的速率,可以将
min_file_process_interval设置为更高的值。此参数确保 DAG 定义文件的处理频率不会超过每min_file_process_interval秒一次。
dag_dir_list_interval:
由于调度程序可以无限期运行,因此需要定期刷新 DAG 定义目录中的文件列表。刷新间隔由
dag_dir_list_interval配置参数控制。
来源:谷歌搜索这两个词得到了第一个结果https://cwiki.apache.org/confluence/display/AIRFLOW/Scheduler+Basics
【讨论】:
dag_dir_list_interval 调度程序都会列出 DAG 定义文件,并且每个 min_file_process_interval 处理这些文件
我手动做了一些实验,发现如下,希望能澄清一下。
min_file_process_interval: 例如,让这设置为 10 秒。这是处理 dag 文件所花费的时间量,这也意味着,在任何 dag 中的任务完成和触发依赖任务之间,最多可能有 10 秒的延迟,因为气流会检查每次触发依赖任务如果上游作业完成,则为 10 秒。
如果此值较高,您在 dag 中的任务将需要更多时间来触发,但气流会消耗更少的 CPU。
Airbnb Airflow using all system resources
dag_dir_list_interval:您放入 dags 文件夹中的任何新的 python dag 文件,都需要很长时间才能被气流处理并显示在 UI 中。 p>
【讨论】: