asgi_app.py 1.0 KB

123456789101112131415161718192021222324252627
  1. """
  2. ASGI应用启动文件
  3. 将Flask WSGI应用转换为ASGI应用,支持异步路由
  4. 启动方式:
  5. 1. 开发环境:python unified_api.py (直接Flask)
  6. 2. 生产环境:uvicorn asgi_app:asgi_app (ASGI服务器)
  7. """
  8. from asgiref.wsgi import WsgiToAsgi
  9. from unified_api import app
  10. # 将Flask WSGI应用转换为ASGI应用
  11. asgi_app = WsgiToAsgi(app)
  12. # 启动方式示例:
  13. # 开发环境(单进程 + 重载):
  14. # uvicorn asgi_app:asgi_app --host 127.0.0.1 --port 8084 --reload
  15. # 生产环境(多进程 + 性能优化):
  16. # uvicorn asgi_app:asgi_app --host 0.0.0.0 --port 8084 --workers 4 --limit-concurrency 100 --limit-max-requests 1000 --access-log
  17. # uvicorn asgi_app:asgi_app --host 0.0.0.0 --port 8084 --workers 4 --limit-concurrency 100 --limit-max-requests 1000
  18. #在 Ubuntu 上安装 uvloop、httptools 没坏处,建议保留,不必显式加 --loop uvloop,Uvicorn 默认 --loop auto
  19. # uvicorn asgi_app:asgi_app --host 0.0.0.0 --port 8084 --workers 4 --limit-concurrency 12 --limit-max-requests 5000 --timeout-graceful-shutdown 30