fastapi_burst_analysis cache immediately

This commit is contained in:
DingZQ
2025-04-04 12:28:44 +08:00
parent cefba29195
commit 92cd2f0bff
2 changed files with 17 additions and 0 deletions

View File

@@ -2559,6 +2559,7 @@ def query_scheme_curve_by_ID_property(scheme_Type: str, scheme_Name: str, query_
# 2025/02/21
# query_date 是模拟的时间,不是查询的时间,也不是运行模拟的时间
def query_scheme_all_record(scheme_Type: str, scheme_Name: str, query_date: str, bucket: str="scheme_simulation_result") -> tuple:
"""
查询指定方案的所有记录包括node'link分别以指定格式返回。

16
main.py
View File

@@ -24,6 +24,7 @@ from dateutil import parser
import influxdb_info
import influxdb_api
import py_linq
import time_api
JUNCTION = 0
RESERVOIR = 1
@@ -2685,6 +2686,21 @@ async def fastapi_burst_analysis(data: BurstAnalysis) -> str:
)
#os.rename(filename2, filename)
# 将 时间转换成日期,然后缓存这个计算结果
# 缓存key: burst_analysis_<name>_<modify_pattern_start_time>
global redis_client
schemename = data.schema_name
querydate = time_api.get_date_from_time(data.modify_pattern_start_time)
print(f"schemename: {schemename}, querydate: {querydate}")
cache_key = f"queryallschemeallrecords_burst_{schemename}_{querydate}"
data = redis_client.get(cache_key)
if not data:
results = influxdb_api.query_scheme_all_record("burst", scheme_Name=schemename, query_date=querydate)
packed = msgpack.packb(results, default=encode_datetime)
redis_client.set(cache_key, packed)
return "success"
############################################################