热重载通风口 WSGIServer
Hot reload gevent WSGIServer
我在 gevent.WSGIServer
中 运行 很好地安装了一个 Flask
应用程序。为了获得流畅的开发体验,我想启用热重载,例如如果 python 加载 python 文件在磁盘上发生变化,我希望服务器重新加载。由于我使用的 SSE 事件必然会阻止请求,因此我无法 运行 非常好的 Flask 内置调试服务器。在生产中我不想热重载。
我找到了 @run_with_reloader
装饰器,但是 1) 在代码注释中,作者建议不要使用这个函数,并且 2) 当 any 函数在我的主 py-文件有这个装饰器热重载总是启用的,不管那个函数是否被调用。
如何在开发过程中热重载 gevent.WSGIServer
?
我有相同的用例。我找到了这个,它正在工作,尽管它使用的是 twisted: https://gist.github.com/ianschenck/977379a91154fe264897 。类似的方法也适用于 gevent。
我认为这是最佳答案。为我工作。
import gevent.wsgi
import werkzeug.serving
@werkzeug.serving.run_with_reloader
def runServer():
app.debug = True
ws = gevent.wsgi.WSGIServer(('', 5000), app)
ws.serve_forever()
附上原文link:
http://flask.pocoo.org/snippets/34/
我在 gevent.WSGIServer
中 运行 很好地安装了一个 Flask
应用程序。为了获得流畅的开发体验,我想启用热重载,例如如果 python 加载 python 文件在磁盘上发生变化,我希望服务器重新加载。由于我使用的 SSE 事件必然会阻止请求,因此我无法 运行 非常好的 Flask 内置调试服务器。在生产中我不想热重载。
我找到了 @run_with_reloader
装饰器,但是 1) 在代码注释中,作者建议不要使用这个函数,并且 2) 当 any 函数在我的主 py-文件有这个装饰器热重载总是启用的,不管那个函数是否被调用。
如何在开发过程中热重载 gevent.WSGIServer
?
我有相同的用例。我找到了这个,它正在工作,尽管它使用的是 twisted: https://gist.github.com/ianschenck/977379a91154fe264897 。类似的方法也适用于 gevent。
我认为这是最佳答案。为我工作。
import gevent.wsgi
import werkzeug.serving
@werkzeug.serving.run_with_reloader
def runServer():
app.debug = True
ws = gevent.wsgi.WSGIServer(('', 5000), app)
ws.serve_forever()
附上原文link: http://flask.pocoo.org/snippets/34/