From bf6ae9c4306f8f9e87d450839a06a31e2a2fd3ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=B5=E5=BA=94?= Date: Sun, 5 Jul 2026 14:54:04 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20API/Worker=20=E4=BE=9D=E8=B5=96?= =?UTF-8?q?=E6=8B=86=E5=88=86=20-=20=E7=A7=BB=E9=99=A4=20API=20=E9=95=9C?= =?UTF-8?q?=E5=83=8F=E4=B8=AD=E7=9A=84=E9=87=8D=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新建 requirements-worker.txt,包含 numpy/scipy/opencv/Pillow/ffmpeg-python - requirements-base.txt 移除视频处理大包,仅保留公共基础依赖 - worker.Dockerfile 新增 requirements-worker.txt 安装层 - API Dockerfile 无需修改,自动不再包含重包 - 验证:API/packages 代码无 numpy/scipy/cv2 导入 - 全量测试 994 passed, 0 failed Co-Authored-By: Claude Fable 5 --- infra/docker/worker.Dockerfile | 6 ++++++ requirements-base.txt | 7 ------- requirements-worker.txt | 17 +++++++++++++++++ 3 files changed, 23 insertions(+), 7 deletions(-) create mode 100644 requirements-worker.txt diff --git a/infra/docker/worker.Dockerfile b/infra/docker/worker.Dockerfile index 4283c5d7c..e2f130d4a 100755 --- a/infra/docker/worker.Dockerfile +++ b/infra/docker/worker.Dockerfile @@ -28,6 +28,12 @@ RUN python -m venv /opt/venv \ && /opt/venv/bin/pip install --no-cache-dir -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com -r /tmp/requirements-base.txt \ && rm /tmp/requirements-base.txt +# ---- 依赖分层:Worker 专属大包(视频处理,变化极少)---- +COPY requirements-worker.txt /tmp/requirements-worker.txt + +RUN /opt/venv/bin/pip install --no-cache-dir -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com -r /tmp/requirements-worker.txt \ + && rm /tmp/requirements-worker.txt + # ---- 依赖分层:业务依赖(变化频繁)---- COPY requirements.txt /tmp/requirements.txt diff --git a/requirements-base.txt b/requirements-base.txt index 64b22cf16..f01d9a400 100755 --- a/requirements-base.txt +++ b/requirements-base.txt @@ -22,13 +22,6 @@ redis==5.2.0 # 任务队列 celery==5.4.0 -# 视频处理(大包,变化极少) -numpy>=1.24.0 -scipy>=1.10.0 -opencv-python-headless>=4.8.0 -Pillow==10.4.0 -ffmpeg-python==0.2.0 - # 对象存储 oss2==2.18.4 diff --git a/requirements-worker.txt b/requirements-worker.txt new file mode 100644 index 000000000..2a01cb870 --- /dev/null +++ b/requirements-worker.txt @@ -0,0 +1,17 @@ +# 小虾 SaaS - Worker 专属依赖(视频处理大包,仅 Worker 需要) +# 这些包体积大,API 服务不需要安装 + +# 数值计算 +numpy>=1.24.0 + +# 科学计算 +scipy>=1.10.0 + +# 计算机视觉(视频去重、帧处理) +opencv-python-headless>=4.8.0 + +# 图像处理 +Pillow==10.4.0 + +# FFmpeg Python 绑定 +ffmpeg-python==0.2.0