2026-05-21-16-34-09 暂停当前系统服务

This commit is contained in:
2026-05-21 16:36:32 +08:00
parent 8b4cff8197
commit 90727ab1b9
4 changed files with 164 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
# 实现方案:暂停当前系统服务
实现方案文档路径:`工程分析/实现方案-2026-05-21-16-34-09.md`
## 修改目标
停止当前 ReVoxelSeg DICOM 系统运行服务,并验证 `4000` 端口释放。
## 涉及路径
- `/home/wkmgc/Desktop/ReVoxelSeg_DICOM_Docker/docker_compose.yaml`
- `工程分析/需求分析-2026-05-21-16-34-09.md`
- `工程分析/实现方案-2026-05-21-16-34-09.md`
- `工程分析/测试方案-2026-05-21-16-34-09.md`
- `工程分析/经验记录.md`
## 技术路线
1. 检查 Docker Compose、Docker 容器、`tmux` 会话和 `4000` 端口占用。
2. 确认当前服务来自独立 Docker 部署。
3.`/home/wkmgc/Desktop/ReVoxelSeg_DICOM_Docker` 执行 `docker compose -f docker_compose.yaml down`
4. 再次检查容器状态、`4000` 端口和健康接口。
## 执行步骤
- 写入本次工程分析文档。
- 停止 Docker Compose 服务。
- 验证 `docker compose ps` 无运行服务。
- 验证 `ss -ltnp sport = :4000` 无监听。
- 验证 `http://127.0.0.1:4000/api/health` 不再返回服务响应。
## 兼容性与回滚方案
- 若需恢复服务,可回到 `/home/wkmgc/Desktop/ReVoxelSeg_DICOM_Docker` 执行 `docker compose -f docker_compose.yaml up -d`
- 本次不删除镜像、数据卷或运行态数据。
## 预计文件变更
- 新增三份工程分析文档。
- 追加 `工程分析/经验记录.md`
## 提交与部署策略
- 按工作流提交本次文档备份。
- 不重新部署系统,因为本次目标是暂停服务。

View File

@@ -0,0 +1,54 @@
# 测试方案:暂停当前系统服务
测试方案文档路径:`工程分析/测试方案-2026-05-21-16-34-09.md`
## 静态检查
- 检查当前 Docker Compose 服务状态。
- 检查是否存在 `tmux` 会话。
- 检查 `4000` 端口监听情况。
## 构建检查
- 本次不构建前端或后端。
## 关键业务场景验证
- 停止前确认系统正在运行。
- 停止后确认 Docker Compose 服务不再运行。
- 停止后确认健康接口不可访问。
## 医学影像数据相关边界验证
- 本次不修改 DICOM、STL、项目数据或导出结果。
## 部署验证
- 本次目标是暂停服务,不重新部署。
- 若用户后续要求恢复,再启动 Docker Compose 并验证健康接口。
## Git/Gitea 备份验证
- 只提交本次工程分析文档和经验记录。
- 不提交视频配音、大型数据或无关工作区变化。
## 风险与回归关注点
- 停止服务后局域网和公网入口都会不可访问。
- 需要确认没有其他进程继续占用 `4000`
## 实际验证结果
- 停止前检查:
- 独立 Docker Compose 中 `revoxelseg_web``Up ... (healthy)`,端口映射 `0.0.0.0:4000->4000`
- `revoxelseg_frpc``Up`
- 未发现 `tmux` 会话。
- `4000` 端口存在监听。
- 已在 `/home/wkmgc/Desktop/ReVoxelSeg_DICOM_Docker` 执行:
- `docker compose -f docker_compose.yaml down`
- 停止后检查:
- `docker compose -f docker_compose.yaml ps` 返回空服务列表。
- `ss -ltnp 'sport = :4000'` 未发现监听进程。
- `curl http://127.0.0.1:4000/api/health` 返回连接失败,退出码 `7`
- `https://revoxel.huijutec.cn/` 返回 `HTTP/2 502`,说明公网反向代理后端已不可达。
- 本次按用户要求暂停系统,因此没有重新部署。

View File

@@ -1585,3 +1585,21 @@ C. 解决问题方案
D. 后续如何避免问题
后续生成配音、字幕或二次包装视频时,不能只看 MP4 容器总时长;必须同时检查视频流和音频流时长。若目标是避免片尾空声,应以视频流时长为准;若目标是保留完整旁白,则需要明确允许画面补帧或拉伸。大幅时长差不要依赖静音填充,应优先调整文案长度和 TTS 语速,再做细微 `atempo` 对齐。
## 2026-05-21-16-34-09 暂停服务时不应再执行重新部署
A. 具体问题
用户要求“停一下现在的系统”,目标是暂停当前服务,而项目工作流默认在修改完成后要求重新部署。如果机械执行重新部署,会违背用户本次意图,让系统又重新对外提供访问。
B. 产生问题原因
项目工作流面向常规功能修改和部署更新,默认以“修改后恢复服务”为完成标准;但本次属于运行态暂停操作,验收标准恰好相反,需要确认 Docker 容器停止、`4000` 端口释放、健康接口不可访问。
C. 解决问题方案
先检查当前运行来源,确认服务来自 `/home/wkmgc/Desktop/ReVoxelSeg_DICOM_Docker` 的独立 Docker Compose而不是 `tmux`。随后执行 `docker compose -f docker_compose.yaml down`,同时停止 web 与 frpc 容器。停止后验证 Compose 服务为空、`4000` 端口无监听、本机健康接口连接失败、公网域名返回后端不可达状态。本次在工程分析中明确记录“不重新部署”是按用户要求执行。
D. 后续如何避免问题
后续遇到“停止、暂停、下线、关闭服务”类请求时,工作流中的重新部署步骤应解释为“运行态验证”,而不是再次启动服务。最终汇报要明确服务已停、恢复命令是什么,以及哪些入口当前不可访问,避免把暂停请求处理成重启请求。

View File

@@ -0,0 +1,47 @@
# 需求分析:暂停当前系统服务
开始时间2026-05-21-16-34-09
## 原始需求摘要
用户要求“停一下现在的系统”,即停止当前正在对外提供访问的 ReVoxelSeg DICOM 系统服务。
## 业务目标
- 停止当前占用 `4000` 端口的系统服务。
- 停止公网映射相关的 frpc 容器,避免外部继续访问。
- 不修改业务源码,不删除数据。
## 输入与输出
输入:
- 当前运行状态检查结果。
- Docker 独立部署目录:`/home/wkmgc/Desktop/ReVoxelSeg_DICOM_Docker`
输出:
- 当前 Docker Compose 服务停止。
- `4000` 端口不再监听。
- 健康接口不可访问,用于确认服务已暂停。
## 影响范围
- 运行中的 `revoxelseg_web``revoxelseg_frpc` 容器。
- 本次工程分析文档与经验记录。
## 关键约束
- 不执行重新部署,因为用户明确要求停掉系统。
- 不提交或回滚工作区内已有无关删除和未跟踪文件。
- 不删除 Docker 镜像、数据卷或项目数据。
## 风险点
- 停止 frpc 后公网域名将不可访问。
- 停止 web 容器后局域网 `4000` 入口将不可访问。
- 若另有非 Docker 服务占用端口,需要额外排查。
## 默认假设
- “当前系统”指当前占用 `4000` 端口并处于 healthy 状态的 Docker 独立部署。