feat: 合并 Docker Compose、标注表格优化与部署文档
将 platform + CVAT 合并为单文件 docker-compose.yml,完善 .env 与 init/dev_up 脚本; 新增 docs/DEPLOY.md 与更新 README 以支持新机器部署;含数据湖示例、车队地图、 紧凑表格 UI、ADAS det_7cls 路径与批次台账等近期改动。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
54
platform/as_platform/tests/test_batch_index.py
Normal file
54
platform/as_platform/tests/test_batch_index.py
Normal file
@@ -0,0 +1,54 @@
|
||||
"""批次索引:列表走 DB,重建走扫盘。"""
|
||||
from __future__ import annotations
|
||||
|
||||
import time
|
||||
|
||||
from as_platform.labeling.batch_index import (
|
||||
index_is_empty,
|
||||
list_batches_from_index,
|
||||
rebuild_batch_index,
|
||||
)
|
||||
from as_platform.labeling.service import list_labeling_batches
|
||||
|
||||
|
||||
def test_rebuild_and_list_from_index():
|
||||
r = rebuild_batch_index()
|
||||
assert r["ok"] is True
|
||||
assert r["count"] >= 0
|
||||
|
||||
t0 = time.perf_counter()
|
||||
out = list_batches_from_index(limit=100)
|
||||
elapsed_ms = (time.perf_counter() - t0) * 1000
|
||||
assert out["source"] == "index"
|
||||
assert "items" in out
|
||||
assert elapsed_ms < 500, f"index list too slow: {elapsed_ms:.0f}ms"
|
||||
|
||||
|
||||
def test_list_labeling_batches_uses_index():
|
||||
if index_is_empty():
|
||||
rebuild_batch_index()
|
||||
t0 = time.perf_counter()
|
||||
out = list_labeling_batches(limit=50)
|
||||
elapsed_ms = (time.perf_counter() - t0) * 1000
|
||||
assert "items" in out
|
||||
assert elapsed_ms < 800, f"list_labeling_batches too slow: {elapsed_ms:.0f}ms"
|
||||
|
||||
|
||||
def test_archive_batch_hides_from_list():
|
||||
from as_platform.db.engine import session_scope
|
||||
from as_platform.db.models import BatchIndex
|
||||
from as_platform.labeling.batch_index import archive_batch, list_batches_from_index
|
||||
|
||||
with session_scope() as db:
|
||||
rec = (
|
||||
db.query(BatchIndex)
|
||||
.filter(BatchIndex.archived.is_(False), BatchIndex.stage == "raw_pool")
|
||||
.first()
|
||||
)
|
||||
if not rec:
|
||||
return
|
||||
cid = rec.campaign_id
|
||||
|
||||
archive_batch(cid)
|
||||
out = list_batches_from_index(stage="raw_pool", limit=500)
|
||||
assert all(r.get("campaign_id") != cid for r in out["items"])
|
||||
Reference in New Issue
Block a user