GUARD使用

  • 全局监控和配置文件的启动容器

获取框架版本号

  1. >>>from usr.bin.guard import GuardContext
  2. >>> GuardContext().version()
  3. {'ARTIFACT_ID': 'qpy-framework', 'VERSION': '1.0.0.RELEASE', 'GROUP_ID':
  4. 'qpy.quectel.com'}

初始化

  • 初始化全局的guard环境
  1. >>> from usr.bin.guard import GuardContext
  2. >>> guard_context = GuardContext()

刷新容器

  1. >>> guard_context.refresh()
  2. [ OK ] create sys monitor net service
  3. [ OK ] create sys monitor net service
  4. [ OK ] create app monitor media service
  5. [ OK ] create app monitor exception service
  6. [ FAILED ] load cloud monitor error reason:[cloud service load error]

查看所有服务

  1. >>> guard_context.servers()
  2. {'media': <MediaServiceMonitor object at 7eb6df60>, 'log':
  3. <LogServiceMonitor object at 7eb6a550>, 'net': <NetServiceMonitor object at
  4. 7eb64e10>, 'exception': <ExceptionServiceMonitor object at 7eb6b0d0>}
服务名称 是否一定存在 描述
log 默认refresh初始化
media 默认refresh初始化
net 默认refresh初始化
exception 默认refresh初始化
cloud 默认cloud需要自己传入配置文件
[1. 主动配置传入,
2. 在etc/app_config/cloud/config.json中写入] refresh或者reload进行初始化

获取服务

  1. >>> guard_context.get_server("log")
  2. <LogService object at 7eb655a0>

手动注册服务

  1. guard_context.register_monitor(server_name, monitor)
  • 返回值
    • True 注册成功
    • False 注册失败

重载服务

  • 重新加载服务,当我们手动注册服务或者有服务优先级启动的时候需要调用reload去重载服务
  1. guard_context.reload()

获取app/json内容

  1. >>> guard_context.service_config["cloud"]

main - 图1