GUARD使用
- 全局监控和配置文件的启动容器
获取框架版本号
>>>from usr.bin.guard import GuardContext
>>> GuardContext().version()
{'ARTIFACT_ID': 'qpy-framework', 'VERSION': '1.0.0.RELEASE', 'GROUP_ID':
'qpy.quectel.com'}
初始化
- 初始化全局的guard环境
>>> from usr.bin.guard import GuardContext
>>> guard_context = GuardContext()
刷新容器
>>> guard_context.refresh()
[ OK ] create sys monitor net service
[ OK ] create sys monitor net service
[ OK ] create app monitor media service
[ OK ] create app monitor exception service
[ FAILED ] load cloud monitor error reason:[cloud service load error]
查看所有服务
>>> guard_context.servers()
{'media': <MediaServiceMonitor object at 7eb6df60>, 'log':
<LogServiceMonitor object at 7eb6a550>, 'net': <NetServiceMonitor object at
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进行初始化 |
获取服务
>>> guard_context.get_server("log")
<LogService object at 7eb655a0>
手动注册服务
guard_context.register_monitor(server_name, monitor)
- 返回值
- True 注册成功
- False 注册失败
重载服务
- 重新加载服务,当我们手动注册服务或者有服务优先级启动的时候需要调用reload去重载服务
guard_context.reload()
获取app/json内容
>>> guard_context.service_config["cloud"]