Compare commits

...

1 Commits

Author SHA1 Message Date
用户CI Test 99c4bc3ad5 feat(worker): 支持 WORKER_CONCURRENCY 环境变量控制 Celery 并发数
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 16s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m55s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
- 新增 infra/docker/entrypoint-worker.sh 启动脚本
- WORKER_CONCURRENCY 环境变量未设置时默认为 2(向后兼容)
- worker.Dockerfile CMD 改为使用 entrypoint 脚本
- 解决 Watchtower 自动更新丢失 docker run --override 的问题
2026-07-10 15:56:35 +08:00
2 changed files with 18 additions and 1 deletions
+13
View File
@@ -0,0 +1,13 @@
#!/bin/bash
# Worker 启动脚本 — 支持 WORKER_CONCURRENCY 环境变量
# 未设置时默认 2(保持向后兼容)
set -e
CONCURRENCY="${WORKER_CONCURRENCY:-2}"
exec celery \
-A worker_app.celery_app \
worker \
--loglevel=info \
"--concurrency=${CONCURRENCY}"
+5 -1
View File
@@ -48,6 +48,10 @@ COPY packages/ /app/packages/
COPY alembic.ini /app/alembic.ini
COPY migrations/ /app/migrations/
# 复制 Worker 启动脚本(支持 WORKER_CONCURRENCY 环境变量)
COPY infra/docker/entrypoint-worker.sh /usr/local/bin/entrypoint-worker.sh
RUN chmod +x /usr/local/bin/entrypoint-worker.sh
# 设置 Python 路径
ENV PATH="/opt/venv/bin:$PATH"
ENV PYTHONPATH=/app
@@ -61,4 +65,4 @@ USER celery
# Worker 入口点
WORKDIR /app/apps/worker
CMD ["celery", "-A", "worker_app.celery_app", "worker", "--loglevel=info", "--concurrency=2"]
CMD ["/usr/local/bin/entrypoint-worker.sh"]