utils.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:stethoscope 作者: Netflix 项目源码 文件源码
def instantiate_plugins(config, **kwargs):
  kwargs.setdefault('propagate_map_exceptions', True)
  kwargs.setdefault('on_load_failure_callback', extension_load_failure_callback)
  kwargs.setdefault('verify_requirements', True)
  kwargs.setdefault('names', config.get('PLUGINS_ENABLED', six.viewkeys(config.get('PLUGINS', {}))))
  plugins = stevedore.named.NamedExtensionManager(**kwargs)
  logger.debug("'{!s}' plugins: loaded {!s}", kwargs['namespace'], plugins.names())
  for plugin in plugins:
    plugin_config = config.get('PLUGINS', {}).get(plugin.name, {})
    plugin_config.setdefault('DEBUG', config.get('DEBUG', False))
    plugin_config.setdefault('DEFAULT_TIMEOUT', config.get('DEFAULT_TIMEOUT', False))
    plugin.obj = plugin.plugin(plugin_config)
    plugin.obj.plugin_name = plugin.name
  logger.debug("'{!s}' plugins: instantiated {!s}", kwargs['namespace'], plugins.names())
  return plugins
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号