if msg_type == cpu or msg_type == mem or msg_type == disk query = com_dbsessionqueryfw_resource_healthy_inforesource_general fw_resource_healthy_infocoming_time query = querysele
这段代码是一个条件判断语句,判断msg_type的值是否等于'cpu'、'mem'或'disk'。如果满足条件,就执行以下操作:
- 创建一个查询对象
query,从数据库表fw_resource_healthy_info中查询resource_general和coming_time字段。 - 添加查询条件,限定
coming_time在start_time和end_time之间,sn等于指定的sn,且is_deleted为False。 - 按
coming_time升序排序。 - 执行查询,将结果保存在
rewards变量中。 - 如果
rewards为空,则返回result。 - 获取第一个数据点的时间,并将其格式化为Unicode字符串。
- 根据实际数据范围生成适用于时间间隔的新数据
interval。 - 将
interval保存在result['interval']中。 - 根据时间间隔计算
span。 - 初始化变量
prev_time为第一个数据点的时间。 - 遍历
rewards中的每个数据点。 - 获取
resource_general中msg_type对应的使用情况数据。 - 获取当前数据点的时间,并计算与前一个数据点的时间差。
- 根据时间差的条件,判断是否符合要求的数据点。
- 根据
msg_type的值,将对应的数据添加到data_dict中。 - 将
data_dict添加到result['data']列表中。 - 更新当前时间为下一个数据点的时间。
- 更新
prev_time为下一个数据点的时间。 - 将
result['data']中的时间格式化为Unicode字符串,并保存在coming_time_list列表中。
最后,这段代码解析了数据库中特定类型的资源健康信息,并将满足条件的数据点添加到result['data']列表中
原文地址: http://www.cveoy.top/t/topic/iTjc 著作权归作者所有。请勿转载和采集!