更新事件循环策略
This commit is contained in:
@@ -1,6 +1,27 @@
|
||||
import asyncio
|
||||
import sys
|
||||
import uvicorn
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
|
||||
uvicorn.run("main:app", host="0.0.0.0", port=8000)
|
||||
# Windows 设置事件循环策略
|
||||
if sys.platform == "win32":
|
||||
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
|
||||
|
||||
# 创建配置对象
|
||||
config = uvicorn.Config(
|
||||
"main:app",
|
||||
host="0.0.0.0",
|
||||
port=8000,
|
||||
loop="asyncio", # 强制使用 asyncio 事件循环
|
||||
# workers=4, # 如果需要多进程,可以取消注释
|
||||
)
|
||||
server = uvicorn.Server(config)
|
||||
|
||||
# 创建并设置事件循环
|
||||
if sys.platform == "win32":
|
||||
loop = asyncio.new_event_loop()
|
||||
asyncio.set_event_loop(loop)
|
||||
|
||||
# 运行服务器
|
||||
asyncio.run(server.serve())
|
||||
|
||||
Reference in New Issue
Block a user