🐛 fix(deploy): 修干净机器首次构建两处必挂——.dockerignore 排除 deploy/ + celery 并行构建依赖
部署机首次 docker compose up -d 实测暴露: - .dockerignore 自"重写独立dockerfile"起排除整个 deploy/,而 Dockerfile.frontend COPY deploy/nginx/frontend.conf、Dockerfile.moldinsight COPY deploy/requirements-*.txt → COPY not found。历史一直有旧镜像兜底未暴露; BuildKit 不支持重包含被排除目录的子文件,直接移除该行 - Dockerfile.celery FROM gemold-backend:latest 在 compose 并行构建下引用 尚不存在的本地镜像必挂 → 删除 Dockerfile.celery,moldinsight-celery 改为 与 API 服务同一 build 声明 + 同一 gemold-backend:latest tag(compose 去重 只构建一次),celery 仅以 command: 覆盖启动 worker,参数语义不变 - build.sh/.bat 移除 gemold-celery 构建步骤;OPERATIONS / OCC_THROUGHPUT / TECH_DEBT / .env.example 的 Dockerfile.celery 指向同步改写;STATUS 补录 Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
+1
-1
@@ -145,7 +145,7 @@
|
||||
- 顺带删除:内存形状缓存链(`_cache_export_shapes` / `get_export_shapes` / `_persist_step_exports`)、`CADExporter.export_mold_results`(零调用方)、shape_loader(→ [stp_materializer.py](../src/moldinsight/services/stp_materializer.py))
|
||||
- 回归测试:[tests/test_occ_process_pool.py](../tests/test_occ_process_pool.py)(OCC-gated,6 例含真实盒体 STP 端到端)
|
||||
|
||||
**方案 A 部署参数落地**(2026-09-18):`CELERY_CONCURRENCY` / `CELERY_MAX_TASKS_PER_CHILD` 进 [Dockerfile.celery](../deploy/Dockerfile.celery) + compose + `.env.example`(`--max-tasks-per-child` 仍保留为进程回收兜底)。
|
||||
**方案 A 部署参数落地**(2026-09-18):`CELERY_CONCURRENCY` / `CELERY_MAX_TASKS_PER_CHILD` 进 compose + `.env.example`(`--max-tasks-per-child` 仍保留为进程回收兜底;2026-09-24 起 worker 与后端共用 `gemold-backend` 镜像,Dockerfile.celery 已移除,参数经 compose `command:` 覆盖与环境变量传递)。
|
||||
|
||||
保留为已知约束(非待修缺陷):
|
||||
- 单进程内 OCC 串行是正确性要求(OCC 非线程安全),吞吐扩展走多进程(方案 A/B)
|
||||
|
||||
Reference in New Issue
Block a user