perf: webapp事件接口加分页、motion默认隔帧采样、新增20个单元测试
- /api/events 支持 limit/offset 分页参数,默认500上限2000 - MOTION_SAMPLE_STRIDE 默认从1改为2,长视频提速一倍 - 新增 tests/test_core.py:覆盖MD5、活动窗口合并、摔倒检测、活动标签合并、Ollama解析等20个纯函数测试
This commit is contained in:
+4
-1
@@ -21,6 +21,8 @@ def index():
|
||||
def api_events():
|
||||
event_type = request.args.get("event_type")
|
||||
capture_date = request.args.get("date") # YYYYMMDD
|
||||
limit = min(int(request.args.get("limit", 500)), 2000)
|
||||
offset = max(int(request.args.get("offset", 0)), 0)
|
||||
|
||||
query = """
|
||||
SELECT e.id, e.video_id, e.event_type, e.label, e.start_offset_sec,
|
||||
@@ -36,7 +38,8 @@ def api_events():
|
||||
if capture_date:
|
||||
query += " AND v.capture_date = ?"
|
||||
params.append(capture_date)
|
||||
query += " ORDER BY e.timestamp_abs DESC, e.id DESC LIMIT 500"
|
||||
query += " ORDER BY e.timestamp_abs DESC, e.id DESC LIMIT ? OFFSET ?"
|
||||
params.extend([limit, offset])
|
||||
|
||||
with get_connection() as conn:
|
||||
rows = conn.execute(query, params).fetchall()
|
||||
|
||||
Reference in New Issue
Block a user