Fix/memory increment (#139)
* [fix]Correct the display sequence of memory increments * [fix]Correct the display sequence of memory increments * [changes]Modify the code based on the AI review
This commit is contained in:
@@ -25,7 +25,7 @@ class MemoryIncrementRepository:
|
|||||||
MemoryIncrement,
|
MemoryIncrement,
|
||||||
func.row_number().over(
|
func.row_number().over(
|
||||||
partition_by=func.date(MemoryIncrement.created_at), # 按日期分区
|
partition_by=func.date(MemoryIncrement.created_at), # 按日期分区
|
||||||
order_by=MemoryIncrement.created_at.desc() # 按时间戳升序排序
|
order_by=MemoryIncrement.created_at.desc() # 按时间戳降序排序,取每天最新的
|
||||||
).label('row_num')
|
).label('row_num')
|
||||||
)
|
)
|
||||||
.filter(MemoryIncrement.workspace_id == workspace_id)
|
.filter(MemoryIncrement.workspace_id == workspace_id)
|
||||||
@@ -34,14 +34,24 @@ class MemoryIncrementRepository:
|
|||||||
|
|
||||||
memory_increment_alias = aliased(MemoryIncrement, subquery)
|
memory_increment_alias = aliased(MemoryIncrement, subquery)
|
||||||
|
|
||||||
memory_increments = (
|
# 先取最近的limit条记录的子查询
|
||||||
|
recent_records_subquery = (
|
||||||
self.db.query(memory_increment_alias)
|
self.db.query(memory_increment_alias)
|
||||||
.filter(subquery.c.row_num == 1) # 只取每个日期的第一条(最新的)
|
.filter(subquery.c.row_num == 1) # 只取每个日期的第一条(最新的)
|
||||||
.order_by(memory_increment_alias.created_at.asc()) # 按时间戳降序排序
|
.order_by(memory_increment_alias.created_at.desc()) # 按时间戳降序排序,取最近的
|
||||||
.limit(limit)
|
.limit(limit)
|
||||||
|
.subquery()
|
||||||
|
)
|
||||||
|
|
||||||
|
# 在外层按升序排列(从旧到新)
|
||||||
|
recent_alias = aliased(MemoryIncrement, recent_records_subquery)
|
||||||
|
memory_increments = (
|
||||||
|
self.db.query(recent_alias)
|
||||||
|
.order_by(recent_alias.created_at.asc()) # 按时间戳升序排序
|
||||||
.all()
|
.all()
|
||||||
)
|
)
|
||||||
db_logger.info(f"成功查询工作空间 {workspace_id} 下的内存增量")
|
|
||||||
|
db_logger.info(f"成功查询工作空间 {workspace_id} 下的内存增量,返回最近 {len(memory_increments)} 条记录")
|
||||||
return memory_increments
|
return memory_increments
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
db_logger.error(f"查询工作空间 {workspace_id} 下内存增量时出错: {str(e)}")
|
db_logger.error(f"查询工作空间 {workspace_id} 下内存增量时出错: {str(e)}")
|
||||||
|
|||||||
Reference in New Issue
Block a user