Add API queryallrecordsbytimerange

This commit is contained in:
DingZQ
2025-04-12 20:49:42 +08:00
parent ab787d22c6
commit 7b77013815

25
main.py
View File

@@ -2319,7 +2319,6 @@ async def fastapi_query_all_records_by_time(querytime: str) -> dict[str, list]:
return { "nodes": results[0],
"links": results[1] }
#def query_all_record_by_date(query_date: str, bucket: str="realtime_simulation_result", client: InfluxDBClient=client) -> tuple:
@app.get("/queryallrecordsbydate/")
async def fastapi_query_all_records_by_date(querydate: str) -> dict[str, list]:
# 缓存查询结果提高性能
@@ -2344,6 +2343,30 @@ async def fastapi_query_all_records_by_date(querydate: str) -> dict[str, list]:
return results
@app.get("/queryallrecordsbytimerange/")
async def fastapi_query_all_records_by_time_range(starttime: str, endtime: str) -> dict[str, list]:
# 缓存查询结果提高性能
global redis_client
# 今天的不要去缓存
if not time_api.is_today_or_future(starttime):
cache_key = f"queryallrecordsbytimerange_{starttime}_{endtime}"
data = redis_client.get(cache_key)
if data:
# 使用自定义的反序列化函数
loaded_dict = msgpack.unpackb(data, object_hook=decode_datetime)
return loaded_dict
nodes_links: tuple = influxdb_api.query_all_records_by_time_range(starttime=starttime, endtime=endtime)
results = { "nodes": nodes_links[0],
"links": nodes_links[1] }
# 今天的不要去缓存
if not time_api.is_today_or_future(starttime):
redis_client.set(cache_key, msgpack.packb(results, default=encode_datetime))
return results
#2025-03-15, DingZQ
@app.get("/queryallrecordsbydatewithtype/")
async def fastapi_query_all_records_by_date_with_type(querydate: str, querytype: str) -> list: