From 22fa87d4ab39d2e085763431d42fb2929be46d93 Mon Sep 17 00:00:00 2001 From: claude_dev Date: Tue, 7 Jul 2026 00:39:51 +0800 Subject: [PATCH] =?UTF-8?q?chore(deploy):=20=E5=AE=B9=E5=99=A8=20uvicorn?= =?UTF-8?q?=20=E5=88=87=20sanguo=5Fapi.main:create=5Fapp=20--factory=20+?= =?UTF-8?q?=20=E5=BC=BA=E5=88=B6=E5=8D=95=20worker?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/entrypoint.sh | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) 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 } # ============================================