--reload 标志不应在 Windows 上的生产中使用。Uvicorn服务器警告

H N*_*san 5 webserver warnings python-3.x fastapi uvicorn

我运行uvicorn main:app --reload来启动 FastAPI 服务器。服务器正在运行,但我在控制台上看到一条警告:

WARNING:  The --reload flag should not be used in production on Windows.
Run Code Online (Sandbox Code Playgroud)

下面是我的代码:

WARNING:  The --reload flag should not be used in production on Windows.
Run Code Online (Sandbox Code Playgroud)

我想知道为什么我会看到这个?该警告的原因是什么?

Chr*_*ris 4

根据FastAPI 文档

警告

--reload如果您正在使用该选项,请记住删除该选项。

--reload选项消耗更多资源,更不稳定等。

它在开发过程中很有帮助,但您不应该在生产中使用它 。

因此,FastAPI 会显示该警告,提醒您不要在生产中使用该--reload标志,因为服务器会消耗更多资源来定期查找所有文件的更改。*.py

但是,在您自己的计算机上开发测试--reload应用程序时使用该标志是完全可以的。您还可以指定要监视哪些目录来监视 python 文件更改,以及指定一个 glob 模式来匹配将包含或排除在监视范围之外的文件或目录 - 请参阅Uvicorn 文档