🐛 fix(deploy): celery worker 启动命令移除 --workdir(celery 5.x 已移除)
部署机实测:celery worker --workdir=/app/src 报 "No such option '--workdir'"(旧 Dockerfile.celery 用的参数, celery 4.x 兼容,5.x 已删除;项目锁的是新版本)。 修复:compose 的 moldinsight-celery command 改为 cd /app/src && exec celery -A celery_app worker ... 直接切到 src/ 目录启动 worker(celery_app.py 内 include= ["celery_tasks"] 是裸模块名,需在 src/ 下才能解析),不依赖 celery 版本是否支持 --workdir。 Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -83,7 +83,7 @@ services:
|
|||||||
dockerfile: deploy/Dockerfile.moldinsight
|
dockerfile: deploy/Dockerfile.moldinsight
|
||||||
image: gemold-backend:latest
|
image: gemold-backend:latest
|
||||||
container_name: gemold_celery
|
container_name: gemold_celery
|
||||||
command: ["sh", "-c", "exec celery -A celery_app worker --workdir=/app/src --concurrency=${CELERY_CONCURRENCY:-2} --max-tasks-per-child=${CELERY_MAX_TASKS_PER_CHILD:-50} --loglevel=info"]
|
command: ["sh", "-c", "cd /app/src && exec celery -A celery_app worker --concurrency=${CELERY_CONCURRENCY:-2} --max-tasks-per-child=${CELERY_MAX_TASKS_PER_CHILD:-50} --loglevel=info"]
|
||||||
environment:
|
environment:
|
||||||
<<: *base_env
|
<<: *base_env
|
||||||
# Celery/OCC 吞吐调优(OCC_THROUGHPUT 方案 A)
|
# Celery/OCC 吞吐调优(OCC_THROUGHPUT 方案 A)
|
||||||
|
|||||||
+4
-1
@@ -104,7 +104,10 @@ services:
|
|||||||
dockerfile: deploy/Dockerfile.moldinsight
|
dockerfile: deploy/Dockerfile.moldinsight
|
||||||
image: gemold-backend:latest
|
image: gemold-backend:latest
|
||||||
container_name: gemold_celery
|
container_name: gemold_celery
|
||||||
command: ["sh", "-c", "exec celery -A celery_app worker --workdir=/app/src --concurrency=${CELERY_CONCURRENCY:-2} --max-tasks-per-child=${CELERY_MAX_TASKS_PER_CHILD:-50} --loglevel=info"]
|
# cd /app/src 是必须的:celery_app / celery_tasks 是 src/ 的子模块,
|
||||||
|
# 而其 import 用的是裸模块名(celery_app.py 内 include=["celery_tasks"]),
|
||||||
|
# 所以 worker 必须从 src/ 目录启动;不依赖 celery 版本是否支持 --workdir
|
||||||
|
command: ["sh", "-c", "cd /app/src && exec celery -A celery_app worker --concurrency=${CELERY_CONCURRENCY:-2} --max-tasks-per-child=${CELERY_MAX_TASKS_PER_CHILD:-50} --loglevel=info"]
|
||||||
environment:
|
environment:
|
||||||
<<: *base_env
|
<<: *base_env
|
||||||
# Celery/OCC 吞吐调优(OCC_THROUGHPUT 方案 A)
|
# Celery/OCC 吞吐调优(OCC_THROUGHPUT 方案 A)
|
||||||
|
|||||||
Reference in New Issue
Block a user