diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh index b0e02cf..c253759 100644 --- a/docker/entrypoint.sh +++ b/docker/entrypoint.sh @@ -259,12 +259,10 @@ start_web_service() { UVICORN_ARGS="--host ${WEB_HOST} --port ${WEB_PORT}" # Worker 配置 - if [ "${WEB_WORKERS:-2}" -gt 1 ]; then - log_info "使用多 Worker 模式: ${WEB_WORKERS} workers" - UVICORN_ARGS="$UVICORN_ARGS --workers ${WEB_WORKERS}" - else - log_info "使用单 Worker 模式" - fi + # sanguo_api 的 orchestrator 任务状态在内存(_pending/pool._tasks), + # 必须单 worker:多 worker 下"提交"与"查询状态/结果"可能落到不同 worker + # 而查不到。Phase 3b 起强制单 worker(WEB_WORKERS 仅兼容保留)。 + log_info "使用单 Worker 模式(sanguo_api 状态化 orchestrator)" # 日志级别 UVICORN_ARGS="$UVICORN_ARGS --log-level ${VNPY_LOG_LEVEL:-info}" @@ -278,9 +276,9 @@ start_web_service() { UVICORN_ARGS="$UVICORN_ARGS --reload" fi - # 启动服务 - log_info "启动命令: uvicorn sanguo_web.api:app $UVICORN_ARGS" - exec uvicorn sanguo_web.api:app $UVICORN_ARGS + # 启动服务(Phase 3b 起:研究/回测 API sanguo_api,工厂模式启动) + log_info "启动命令: uvicorn sanguo_api.main:create_app --factory $UVICORN_ARGS" + exec uvicorn sanguo_api.main:create_app --factory $UVICORN_ARGS } # ============================================