【发布时间】:2023-04-10 10:27:01
【问题描述】:
在使用--reload 标志重新加载脚本时,是否可以排除某些部分代码?
uvicorn main:app --reload
用例:我有一个模型需要很长时间加载,所以我想知道是否有办法在重新加载时忽略该行代码。还是根本不可能?
【问题讨论】:
-
我们刚刚推送了github.com/encode/uvicorn/pull/820 这使得它成为可能
在使用--reload 标志重新加载脚本时,是否可以排除某些部分代码?
uvicorn main:app --reload
用例:我有一个模型需要很长时间加载,所以我想知道是否有办法在重新加载时忽略该行代码。还是根本不可能?
【问题讨论】:
更新
Uvicorn 现在支持在监视列表中包含/排除某些目录/文件。
--reload-include TEXT Set glob patterns to include while watching
for files. Includes '*.py' by default, which
can be overridden in reload-excludes.
--reload-exclude TEXT Set glob patterns to exclude while watching
for files. Includes '.*, .py[cod], .sw.*,
~*' by default, which can be overridden in
reload-excludes.
没有办法排除某些东西,但是您可以使用 --reload-dir 标志明确说明您想要查看的内容:
--reload-dir TEXT Set reload directories explicitly, instead
of using the current working directory.
【讨论】:
我不相信这是可能的,当服务器重新加载时,它会将所有需要的文件从头开始加载到内存中。它不会保留上次启动的记忆。
【讨论】: