【发布时间】:2018-10-12 18:05:07
【问题描述】:
我试图让 Uvicorn 在以编程方式启动时在检测到文件更改时自动重新启动,就像从带有--debug 开关的命令行启动时一样。以下语句位于我的 api 源代码文件的底部,虽然 Uvicorn 启动并运行良好,但它不会在重新加载模式下启动。我尝试将调试参数设置为各种不同的值:uvicorn.run(debug='true'、'True'、'yes' 和 True(python 布尔值),但似乎没有任何效果。
uvicorn.run(app,
host=run_config['api_host'],
port=run_config['api_port'],
log_level=run_config['log_level'],
debug='true')
编辑:参考我对@howderek 回答的评论:我尝试了建议代码的修改版本。当服务器成功启动时,下面的代码并没有打开重新加载器:
import uvicorn
from uvicorn.reloaders.statreload import StatReload
reloader = StatReload('debug')
reloader.run(uvicorn.run(app, host='localhost', port=9187, debug='true'))
【问题讨论】: