python - flask wsgi

  1. 直接使用flask自带的wsgi,关闭debug模式会出现以下警告
from flask import Flask
app = Flask(__name__, static_folder="./static")
app.run(host="0.0.0.0", port=8080, debug=False)

# WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
  1. 在查找资料后发现可以使用gevent来解决这个问题
from gevent import monkey
from gevent.pywsgi import WSGIServer
monkey.patch_all()
from flask import Flask

app = Flask(__name__, static_folder="./static")

WSGIServer(("0.0.0.0", 8080), app).serve_forever()
  1. 但是在自己的项目会出现一种情况:客户端请求A接口返回200,在请求另外一个不存在的B接口返回404后,客户端重新请求A接口会返回405,试了挺多种方法都没有效果,最后发现用flask自带的wsgi,虽然会出现WARNING,但是并不会出现以上的问题,所以猜测可能跟gevent的wsgi有关,最后换了tornado的wsgi就没有出现以上问题,也不会出现WARNING。
from tornado.httpserver import HTTPServer
from tornado.wsgi import WSGIContainer
from tornado.ioloop import IOLoop

app = Flask(__name__, static_folder="./static")

server = HTTPServer(WSGIContainer(app))
server.listen(8080)
IOLoop.current().start()
posted @   wstong  阅读(117)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示