更新canvas 3d接口 ,使用异步mq队列处理

This commit is contained in:
zcr
2026-04-01 11:57:25 +08:00
parent f35753954e
commit 1c8283334e
50 changed files with 202 additions and 175 deletions

51
docker-compose.yml Normal file → Executable file
View File

@@ -17,17 +17,17 @@ services:
- SERVE_ENV=${SERVE_ENV}
restart: unless-stopped
# ==================== Worker 1: img_to_3d重资源建议只跑1个 ====================
img_worker:
container_name: "FiDA_${SERVE_ENV}_ImgWorker"
# ==================== Celery Worker单个 Worker 同时处理两个任务 ====================
celery_worker:
container_name: "FiDA_${SERVE_ENV}_CeleryWorker"
build:
context: .
dockerfile: Dockerfile
working_dir: /app
command: >
celery -A src.server.canvas_generate_3D.celery_app worker
-n img_worker@%h
-Q img_to_3d_queue
-n celery_worker@%h
-Q img_to_3d_queue,three_d_to_3views_queue
--concurrency=1
--prefetch-multiplier=1
--max-tasks-per-child=1
@@ -39,29 +39,22 @@ services:
environment:
- SERVE_ENV=${SERVE_ENV}
depends_on:
- server # 可选:等 server 启动后再启动 worker
- server
restart: unless-stopped
# ==================== Worker 2: 3d_to_3views ====================
views_worker:
container_name: "FiDA_${SERVE_ENV}_ViewsWorker"
build:
context: .
dockerfile: Dockerfile
working_dir: /app
command: >
celery -A src.server.canvas_generate_3D.celery_app worker
-n views_worker@%h
-Q 3d_to_3views_queue
--concurrency=2
--prefetch-multiplier=1
--loglevel=INFO
volumes:
- ./:/app
- ./.env:/app/.env
- /etc/localtime:/etc/localtime:ro
environment:
- SERVE_ENV=${SERVE_ENV}
depends_on:
- server
restart: unless-stopped
# ==================== 可选RabbitMQ如果你想把 RabbitMQ 也纳入 docker-compose 管理) ====================
# rabbitmq:
# image: rabbitmq:3.13-management
# container_name: "FiDA_${SERVE_ENV}_RabbitMQ"
# ports:
# - "5672:5672"
# - "15672:15672"
# environment:
# RABBITMQ_DEFAULT_USER: guest
# RABBITMQ_DEFAULT_PASS: guest
# volumes:
# - rabbitmq_data:/var/lib/rabbitmq
# restart: unless-stopped
# volumes:
# rabbitmq_data: