我有一个烧瓶 gevent socketio mini网站。启动:
app = Flask(__name__)
app.debug = True
@werkzeug.serving.run_with_reloader
def runServer():
print 'Listening on %s...' % WEB_PORT
ws = SocketIOServer(('0.0.0.0', WEB_PORT),
SharedDataMiddleware(app, {}),
resource="socket.io",
policy_server=False)
ws.serve_forever()
但是,当我的视图中出现错误时,它会输出
<pre style="word-wrap: break-word; white-space: pre-wrap;">Internal Server Error</pre>
而不是显示Werkzeug调试器。另外,我的自定义@app.errorhandler(500)
未被调用。
使用Gevent-socketio,常规烧瓶网站正常工作。
我想知道是什么处理错误并取消默认的烧瓶行为...
我最近解决了此问题,可以修改Werkzeug Debuggger以与socket.io namespaces一起使用(并且自动加载也将起作用),请参阅此处并享受:
https://github.com/aldanor/socketio-flask-debug
要查看Werkzeug调试器,您必须使用Standart Middleware stack提供默认服务器的所有HTTP请求。
但是您启动了单独的SoctedioServer用于服务WebSockets请求。
烧瓶和gevent_socketio的示例