【发布时间】:2020-09-22 05:08:02
【问题描述】:
我使用 fastapi 和 uvicorn 编写了一个服务。我的服务中有一个启动 uvicorn 的 main(见下文)。在这方面,我做的第一件事是加载配置设置。当我加载配置时,我有一些 INFO 输出输出设置。我注意到当我启动我的服务时,配置加载方法似乎运行了两次。
# INITIALIZE
if __name__ == "__main__":
# Load the config once at bootstrap time. This outputs the string "Loading configuration settings..."
config = CdfAuthConfig()
print("Loaded Configuration")
# Create FastAPI object
app = FastAPI()
# Start uvicorn
uvicorn.run(app, host="127.0.0.1", port=5050)
我运行服务时的输出如下:
Loading configuration settings...
Loading configuration settings...
Loaded Configuration
为什么“CdfAuthConfig()”类被实例化了两次?这显然与“uvicorn.run”命令有关。
【问题讨论】:
-
由于 "Loaded Configuration" 没有打印两次,我认为配置没有被加载两次。
-
需要看看你怎么打印
Loading configuration settings... -
我认为这个问题需要更多信息才能正确回答。
-
Loading configuration settings...和Loaded congifuration在uvicorn.run()之前运行,问题不在 uvicorn 上。 -
你介意分享你用来运行
uvicorn的命令行吗?
标签: python-3.x fastapi uvicorn