修复拆帧任务进度卡在 0%
- 将 Celery worker 启动方式改为 solo pool,避免 OpenCV/PyTorch/SAM 相关依赖在本机 prefork worker 中段错误崩溃。 - 增强开发重启脚本:启动 Celery 后检查 worker 进程是否持续存活,避免脚本误报服务已启动但任务无人消费。 - 同步一键启动脚本和安装/README 文档中的 Celery 启动命令,统一使用 --pool=solo --concurrency=1。 - 已验证脚本语法、diff 检查、服务重启、健康检查和 Celery inspect ping,确认拆帧任务可从 0% 继续执行到完成。
This commit is contained in:
@@ -279,7 +279,7 @@ uvicorn main:app --host 0.0.0.0 --port 8000 --reload
|
||||
```bash
|
||||
conda activate seg_server
|
||||
cd /home/wkmgc/Desktop/Seg_Server/backend
|
||||
celery -A celery_app:celery_app worker --loglevel=info --concurrency=1
|
||||
celery -A celery_app:celery_app worker --loglevel=info --pool=solo --concurrency=1
|
||||
```
|
||||
|
||||
终端 C:前端开发服务
|
||||
@@ -391,7 +391,7 @@ pkill -f "npm run dev" || true
|
||||
cd /home/wkmgc/Desktop/Seg_Server/backend
|
||||
setsid ~/miniconda3/bin/conda run -n seg_server uvicorn main:app --host 0.0.0.0 --port 8000 \
|
||||
> /tmp/seg_server_fastapi.log 2>&1 < /dev/null &
|
||||
setsid ~/miniconda3/bin/conda run -n seg_server celery -A celery_app:celery_app worker --loglevel=info --concurrency=1 \
|
||||
setsid ~/miniconda3/bin/conda run -n seg_server celery -A celery_app:celery_app worker --loglevel=info --pool=solo --concurrency=1 \
|
||||
> /tmp/seg_server_celery.log 2>&1 < /dev/null &
|
||||
|
||||
# 启动前端
|
||||
@@ -434,7 +434,7 @@ Celery worker 仍需要单独启动:
|
||||
|
||||
```bash
|
||||
cd backend
|
||||
celery -A celery_app:celery_app worker --loglevel=info --concurrency=1
|
||||
celery -A celery_app:celery_app worker --loglevel=info --pool=solo --concurrency=1
|
||||
```
|
||||
|
||||
实际生产建议用 systemd、supervisor 或容器编排托管 FastAPI、Celery、前端静态服务、MinIO、Redis、PostgreSQL。
|
||||
|
||||
Reference in New Issue
Block a user