Files
ccdi/lsfx-mock-server/STARTUP.md
2026-03-22 17:04:35 +08:00

2.2 KiB

LSFX Mock 服务启动说明

适用范围

本文说明 lsfx-mock-server 的本地启动方式,以及启动参数 --rule-hit-mode 的写法。

服务目录:

cd lsfx-mock-server

普通启动

普通启动入口为 main.py

默认随机子集模式

python3 main.py --rule-hit-mode subset

全部兼容规则命中模式

python3 main.py --rule-hit-mode all

热重载启动

热重载启动入口为 dev.py,不要再直接使用裸 uvicorn main:app --reload ... 透传业务参数。

默认随机子集模式

python3 dev.py --reload --rule-hit-mode subset

全部兼容规则命中模式

python3 dev.py --reload --rule-hit-mode all

启动参数说明

--rule-hit-mode

可选值只有两个:

  • subset:默认模式。按 logId 稳定随机命中每类规则池中的部分规则。
  • all:全部兼容规则命中模式。会命中当前已定义的全部可共存规则;如果后续配置了互斥组,会按互斥组优先级保留组内首个规则。

非法值会在启动阶段直接报错退出,例如下面这种写法是不允许的:

python3 main.py --rule-hit-mode invalid

--reload

dev.py 支持该参数:

python3 dev.py --reload --rule-hit-mode subset

含义是开启热重载,适合本地开发联调。

推荐用法

日常开发

python3 dev.py --reload --rule-hit-mode subset

规则联调或一次性覆盖更多规则

python3 dev.py --reload --rule-hit-mode all

稳定复现普通启动行为

python3 main.py --rule-hit-mode subset

启动成功后的访问地址

  • Swagger UI: http://localhost:8000/docs
  • ReDoc: http://localhost:8000/redoc
  • 健康检查: http://localhost:8000/health

补充说明

  • RULE_HIT_MODE 也可以通过环境变量配置,但当前项目推荐优先使用命令行参数,便于直接区分本次启动的命中模式。
  • 如果本机 8000 端口已被占用,可以临时通过环境变量覆盖端口,例如:
PORT=18000 python3 main.py --rule-hit-mode all
PORT=18001 python3 dev.py --reload --rule-hit-mode all