更新事件循环策略

This commit is contained in:
JIANG
2025-12-09 15:22:16 +08:00
parent 1d55bf4992
commit b6c1ff1878
2 changed files with 24 additions and 4 deletions

View File

@@ -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())