#5660·kedro

线程安全: `OmegaConfigLoader`

作者: ankatiyar创建于 2026年7月10日更新于 2026年9月18日
标签Issue: Feature Request

□ 说明 从5535号投篮 为了共享服务使用案件的预装配置,我们必须确保`OmegaConfigLoader ' 安全。

□ 内容 每个‘OmegaConfigLoader. Gettem Q>的呼叫首先要做到:

def  get item (自, 密钥: str) :
self.  register runtime params resolver () # # QQ 调用每个访问
. . . . . . . .

def   register runtime params resolver(自) - > 无:
OmegaConf.register  new resolver () (英语).
"运行时间 参数",
自身。  Get runtime value, # 关闭绑定到此实例的参数
替换=True, # # 替换全全过程的全球解析器
(中文(简体) ).

`OmegaConf.register new resolver'是一个流程-全球操作。 取代=True 表示从任何配置加载器实例中调用每个 QQgetleme *QQ 调用, 覆盖单个全局“ 运行时 参数” 解析器 。 解析器在 YAML 合并时称为懒解来解析 ${runtime params:x} 插值 。

使用不同运行时间 参数的两个并行运行()呼叫:


线索 1: 配置  装入器  A.   登记器  运行时间  params  resolver ()
^ 全局解析器现在= config loader A. get runtime value
- 解析器读作{'learning rate': 0.01}

线索 2: 配置  装入器  B.   登记器  运行时间  params  resolver ()
^ 全局解析器现在= config loader B. get runtime value
- 解析器读作{'learning rate': 0.1}

第1行:OmegaConf在参数.yml中解析"${runtime params.learning rat}"
~ 呼叫全局解析器, 它现在绑定到配置  loader  B
1号线的输油管有学习率 = 0.1 = 错误

□ 可能的实现 <!-(可选)提出实施添加或更改的想法。 . > 时间

□ 可能的替代品 <!-(可选)描述您考虑过的任何替代解决方案或特征. . > 时间

内容来源: kedro-org/kedro