我已经在Flask
中正好运行了gevent.WSGIServer
个应用。为了获得顺畅的开发体验,我想启用热重载,例如如果python加载的python文件在磁盘上发生变化,我希望服务器重新加载。因为我使用SSE事件必然会阻止请求,所以我无法运行其他非常好的Flask内置调试服务器。在制作中我不想热重载。
我找到了@run_with_reloader
装饰器,但是1)在代码注释中作者建议不要使用这个函数和2)当我的主py文件中的任何函数有这个装饰器热无论是否调用该函数,都始终启用-reload。
如何在开发期间热重新加载gevent.WSGIServer
?
答案 0 :(得分:1)
我有相同的用例。我找到了这个,虽然它正在使用twisted:https://gist.github.com/ianschenck/977379a91154fe264897,但它仍在工作。类似的方法也适用于gevent。
答案 1 :(得分:0)
我认为这是最好的答案。为我工作。
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()