假设我有一个气流dag文件,它创建了一个像这样的图形...
def get_current_info(filename)
current_info = {}
<fill in info in current_info relevant for today's date for given file>
return current_info
files = [
get_current_info("file_001"),
get_current_info("file_002"),
....
]
for f in files:
<some BashOperator bo1 using f's current info dict>
<some BashOperator bo2 using f's current info dict>
....
bo1 >> bo2
....
由于current_info字典中用于定义dag的这些值会定期(此处每天)更改,因此,我想知道dag定义的更新过程/调度是什么。 (我每次运行都会打印current_info值,并且值似乎正在更新,但对这种情况的发生方式和时间感到好奇。)
什么时候评估气流损失定义?在文档中的任何地方都引用过?
答案 0 :(得分:1)
在调度程序的每次运行中都会评估DAG。
This article描述了调度程序的工作方式,以及在什么阶段提取DAG文件进行评估。
答案 1 :(得分:0)
经过对[airflow电子邮件列表] [1]的讨论,事实证明 airflow在运行时为每个任务构建了dag(因此每个任务都包括再次构建dag的开销(我的案子非常重要))。
在此处查看更多详细信息:https://stackoverflow.com/a/59995882/8236733