fastapi_burst_analysis cache immediately
This commit is contained in:
@@ -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
16
main.py
@@ -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"
|
||||
|
||||
############################################################
|
||||
|
||||
Reference in New Issue
Block a user