salt之pillar原理解析

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
日志服务 SLS,月写入数据量 50GB 1个月
简介: salt之pillar原理解析

def load_file(fun):

  def load_pillar_sls_files(default="base", base_root="/srv/pillar/base", file_type="sls"):

      response_data = {}

      base_root = os.path.join(base_root, default)

      for file_name in os.listdir(base_root):

          # 判断是 以sls结尾的文件

          is_file = os.path.isfile(os.path.join(base_root, file_name))

          is_end_sls = file_name.endswith(file_type)

          if not (is_end_sls and is_file):

              continue

          # 满足条件的 接下来去加载

          try:

              temp_dic = yaml.load(open(url, encoding="utf8").read(), Loader=yaml.FullLoader)

          except:

              temp_dic = yaml.load(open(url, encoding="utf8").read())

          file_key = file_name[:-4]

          response_data[file_key] = temp_dic

      return response_data

  def inner(*args, **kwargs):

      print(f"业务代码{args},{kwargs}")

      # 这里需要去参数里面判断有没有pillar,如果有的话那重新赋值

      var_key = "pillar"

      if var_key in kwargs.keys():

          kwargs[var_key] = load_pillar_sls_files()

      return fun(*args, **kwargs)

  return inner

def aaa(pi,*args,**kwargs):

  var_key = "pillar"

  if var_key in kwargs.keys():

      kwargs[var_key] = 1

-----------------------------------


相关文章
|
13天前
|
存储 缓存 Java
什么是线程池?从底层源码入手,深度解析线程池的工作原理
本文从底层源码入手,深度解析ThreadPoolExecutor底层源码,包括其核心字段、内部类和重要方法,另外对Executors工具类下的四种自带线程池源码进行解释。 阅读本文后,可以对线程池的工作原理、七大参数、生命周期、拒绝策略等内容拥有更深入的认识。
什么是线程池?从底层源码入手,深度解析线程池的工作原理
|
1天前
|
前端开发 Python
Flask原理解析
Flask原理解析
with open as f原理解析
with open as f原理解析
|
6天前
|
测试技术 开发者 Python
深入浅出:Python中的装饰器使用与原理解析
【9月更文挑战第20天】本文深入探讨Python中一个强大而神秘的功能——装饰器。通过浅显易懂的语言和生动的比喻,我们将一步步揭开装饰器的面纱,理解其背后的原理,并通过实际代码示例掌握如何运用装饰器来增强我们的函数功能。无论你是初学者还是有一定基础的开发者,这篇文章都将带给你新的启发和思考。
24 7
|
29天前
|
vr&ar
简单易懂的 全景图高清下载方法以及原理简要解析(支持下载建E、720yun、酷雷曼、景站、酷家乐、百度街景原图)
这篇文章介绍了一种简单易懂的全景图高清下载方法,使用在线网站全景管家,支持下载包括建E、720yun、酷雷曼等多个平台的全景图原图,并简要解析了全景图的原理和制作方法。
简单易懂的 全景图高清下载方法以及原理简要解析(支持下载建E、720yun、酷雷曼、景站、酷家乐、百度街景原图)
|
24天前
|
域名解析 网络协议
DNS服务工作原理
文章详细介绍了DNS服务的工作原理,包括FQDN的概念、名称解析过程、DNS域名分级策略、根服务器的作用、DNS解析流程中的递归查询和迭代查询,以及为何有时基于IP能访问而基于域名不能访问的原因。
50 2
|
1月前
|
JavaScript 前端开发 安全
JS 混淆解析:JS 压缩混淆原理、OB 混淆特性、OB 混淆JS、混淆突破实战
JS 混淆解析:JS 压缩混淆原理、OB 混淆特性、OB 混淆JS、混淆突破实战
42 2
|
1月前
|
缓存 前端开发 JavaScript
Webpack 模块解析:打包原理、构造形式、扣代码补参数和全局导出
Webpack 模块解析:打包原理、构造形式、扣代码补参数和全局导出
26 1
|
1月前
|
设计模式 JavaScript 前端开发
Vue响应式原理全解析
Vue的响应式系统是其核心特性之一,它使得Vue能够以高效的方式响应数据的变化。通过对对象属性的getter和setter进行劫持,Vue实现了对数据变化的侦测和依赖收集,当数据变化时能够自动派发更新。Vue3中,响应式系统得到了进一步的加强和优化,使用Proxy替代了 `Object.defineProperty`,带来了更好的性能和更强大的拦截能力。理解Vue的响应式原理,对于深入理解Vue的工作机制和进行高效的Vue开发都具有重要意义。
36 1
|
1月前
|
缓存 监控 网络协议
DNS缓存中毒原理
【8月更文挑战第17天】
68 1

推荐镜像

更多