fix(ci): 集成测试xdist限制为2个worker,防止DooD模式下OOM杀进程\n\n- 从 -n auto 改为 -n 2\n- DooD模式下nproc读到宿主机4核8线程=8worker\n- 每个worker有独立PG库+ffmpeg编码,内存开销大\n- 8worker直接触发OOM killer杀ffmpeg和worker进程\n- 2worker既能提速(~1.5x)又稳定

This commit is contained in:
2026-07-22 15:47:20 +08:00
parent 0c5e1c4b72
commit a4fc1fb1bc
+4 -2
View File
@@ -252,13 +252,15 @@ echo "=== 运行集成测试(pytest-xdist 并行模式) ==="
echo "CPU 核数: $(nproc 2>/dev/null || echo 'unknown')"
# 集成测试使用 pytest-xdist 并行加速(coverage 由单元测试负责,并行模式下 coverage 不稳定)
# -n auto: 自动使用 CPU 核数
# -n 2: 限制2个worker,避免DooD模式下读到宿主机全部核数导致OOM
# 集成测试涉及ffmpeg编码+PG多库,内存开销大,2worker较稳妥
# (auto模式下读到宿主机4核8线程=8worker,OOM直接杀worker进程)
# --dist loadfile: 同一测试文件分配到同一 worker(共享 fixture 更高效)
# --maxfail=1: 遇到失败停止调度新测试(并行模式下等价于 -x)
PYTHONPATH="$PWD/apps/api:$PWD" python3 -m pytest tests/integration \
-q --timeout=60 --maxfail=1 --reruns 2 --reruns-delay 1 \
-m "not performance" \
-n auto --dist loadfile \
-n 2 --dist loadfile \
-p no:cacheprovider
echo "✅ 集成测试通过"