[fix]:[FL-47][把wine安装到fquiz-celery-worker中去]

Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
chengkai3
2026-06-08 18:58:24 +08:00
parent 2f0f24e137
commit de63459173
3 changed files with 26 additions and 2 deletions
+1 -1
View File
@@ -242,7 +242,7 @@
- `WINE_DEFAULT_TIMEOUT_SECONDS` / `WINE_MAX_TIMEOUT_SECONDS`:默认与最大执行超时。
- 后端执行必须使用 `asyncio.create_subprocess_exec` 参数数组,不走 shell;EXE 路径与工作目录必须限制在 `WINE_ALLOWED_ROOT` 下。
- 实时日志通过 `StreamingResponse` + SSE 事件输出;前端使用 `fetchWithAuth` 读取 `ReadableStream`,避免原生 `EventSource` 无法携带现有 Bearer Token 的鉴权问题。
- Docker API 镜像默认不内置 Wine;部署时需在运行环境安装 Wine 或将 `WINE_BINARY_PATH` 指向可用二进制
- `api/Dockerfile` 构建出的共享后端镜像已内置 `wine``api/celery-worker/celery-beat/flower` 当前都复用该镜像,若需切换二进制仍可通过 `WINE_BINARY_PATH` 覆盖
## 前端菜单交互口径(2026-04-19
+4 -1
View File
@@ -14,7 +14,10 @@ ENV PIP_DEFAULT_TIMEOUT=${PIP_DEFAULT_TIMEOUT}
ENV PIP_RETRIES=${PIP_RETRIES}
RUN apt-get update \
&& apt-get install -y --no-install-recommends libexpat1 \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
libexpat1 \
wine \
&& command -v wine >/dev/null \
&& rm -rf /var/lib/apt/lists/*
COPY requirements.txt ./
+21
View File
@@ -43,3 +43,24 @@
- 风险与关注点:
- `admin.basic_data``admin.system_monitor``admin.system` 仍为无 `path` 的目录菜单,只承担菜单树占位与分组作用。
## Work Log - 在共享后端镜像内置 Wine2026-06-08
- 背景:
- 新需求要求把 Wine 安装到 `fquiz-celery-worker`
- 当前仓库中 `celery-worker``api``celery-beat``flower` 复用同一个 `api/Dockerfile` / `${API_IMAGE}`,且后端已有 `/api/v1/wine/*` 直接探测与执行 Wine 的能力。
- 本次处理:
- `api/Dockerfile`
- 在系统依赖安装阶段加入 `wine`,并用 `command -v wine` 做镜像构建期存在性校验。
- `MEMORY.md`
- 将 Wine 口径从“运行环境自行安装”更新为“共享后端镜像已内置 Wine”。
- 验证:
- `python3 -c "import yaml; ..."` 解析 `deploy/dev-deploy/compose.yml``deploy/pro-deploy/compose.yml``.github/workflows/main.yml` 通过。
- `git diff --check` 通过。
- `python3 -m py_compile api/app/services/wine_service.py api/app/services/fl_analysis_external.py api/app/tasks/fl_analysis_tasks.py api/app/core/config.py` 通过。
- 当前执行环境无 `docker` 命令,未能本地实际跑 `docker compose build` / `docker compose config`
- 风险与关注点:
- 由于部署链路复用同一个后端镜像,本次会同时影响 `api/celery-worker/celery-beat/flower` 的基础镜像体积,而不只是 `celery-worker`