2.2 KiB
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