feat(startup): 服务端启动 bootstrap 与缓存预热
- 新增 STARTUP_BOOTSTRAP_ENABLED / STARTUP_CACHE_WARMUP_ENABLED 配置开关 - lifespan 拆分 bootstrap 步骤并后台线程预热缓存,失败可降级继续启动 - server_start.sh / web_start.sh 扩展 SERVER_PORT、启动与调度开关的 env 覆盖 - bootstrap_paddleocr_mobile.sh 改用 python3 并补充 poppler-utils 依赖 - 补充启动 bootstrap 与 env 覆盖优先级测试
This commit is contained in:
@@ -79,3 +79,63 @@ def test_root_start_can_prefer_env_file_over_inherited_onlyoffice_values(tmp_pat
|
||||
assert result.returncode == 0, result.stderr
|
||||
assert "ONLYOFFICE_ENABLED=true" in result.stdout
|
||||
assert "ONLYOFFICE_PUBLIC_URL=http://10.10.10.122:8082" in result.stdout
|
||||
|
||||
|
||||
def test_web_start_preserves_inherited_runtime_ports(tmp_path: Path) -> None:
|
||||
result = _run_script_prefix(
|
||||
tmp_path,
|
||||
"web/web_start.sh",
|
||||
env_file_content=(
|
||||
"WEB_HOST=10.10.10.122\n"
|
||||
"WEB_PORT=5273\n"
|
||||
"SERVER_HOST=10.10.10.122\n"
|
||||
"SERVER_PORT=9000\n"
|
||||
"POSTGRES_HOST=10.10.10.189\n"
|
||||
),
|
||||
env={
|
||||
"WEB_HOST": "0.0.0.0",
|
||||
"WEB_PORT": "5173",
|
||||
"SERVER_HOST": "0.0.0.0",
|
||||
"SERVER_PORT": "8000",
|
||||
"POSTGRES_HOST": "www.caoxiaozhu.com",
|
||||
},
|
||||
output_vars=["WEB_HOST", "WEB_PORT", "SERVER_HOST", "SERVER_PORT", "POSTGRES_HOST"],
|
||||
)
|
||||
|
||||
assert result.returncode == 0, result.stderr
|
||||
assert "WEB_HOST=0.0.0.0" in result.stdout
|
||||
assert "WEB_PORT=5173" in result.stdout
|
||||
assert "SERVER_HOST=0.0.0.0" in result.stdout
|
||||
assert "SERVER_PORT=8000" in result.stdout
|
||||
assert "POSTGRES_HOST=www.caoxiaozhu.com" in result.stdout
|
||||
|
||||
|
||||
def test_server_start_preserves_inherited_runtime_guards(tmp_path: Path) -> None:
|
||||
result = _run_script_prefix(
|
||||
tmp_path,
|
||||
"server/server_start.sh",
|
||||
env_file_content=(
|
||||
"SERVER_HOST=10.10.10.122\n"
|
||||
"SERVER_PORT=9000\n"
|
||||
"STARTUP_BOOTSTRAP_ENABLED=true\n"
|
||||
"BACKGROUND_SCHEDULERS_ENABLED=true\n"
|
||||
),
|
||||
env={
|
||||
"SERVER_HOST": "0.0.0.0",
|
||||
"SERVER_PORT": "8000",
|
||||
"STARTUP_BOOTSTRAP_ENABLED": "false",
|
||||
"BACKGROUND_SCHEDULERS_ENABLED": "false",
|
||||
},
|
||||
output_vars=[
|
||||
"SERVER_HOST",
|
||||
"SERVER_PORT",
|
||||
"STARTUP_BOOTSTRAP_ENABLED",
|
||||
"BACKGROUND_SCHEDULERS_ENABLED",
|
||||
],
|
||||
)
|
||||
|
||||
assert result.returncode == 0, result.stderr
|
||||
assert "SERVER_HOST=0.0.0.0" in result.stdout
|
||||
assert "SERVER_PORT=8000" in result.stdout
|
||||
assert "STARTUP_BOOTSTRAP_ENABLED=false" in result.stdout
|
||||
assert "BACKGROUND_SCHEDULERS_ENABLED=false" in result.stdout
|
||||
|
||||
Reference in New Issue
Block a user