在beantalk上部署flask-socketio

时间:2018-10-11 08:54:16

标签: amazon-web-services amazon-elastic-beanstalk flask-socketio

我无法完全让Flask-SocketIO在AWS Elastic Beanstalk(ELB)上处理我的实例,但要求通过socketio.run(application)运行Flask-SocketIO,ELB似乎对全局应用程序进行了调用对象本身。

ELB文档指出,使用application.py作为文件名并提供可调用的应用程序对象(在这种情况下为Flask对象)使Elastic Beanstalk可以轻松找到应用程序的代码。

我的ELB实例日志显示错误RuntimeError:您需要使用事件服务器。有关更多信息,请参见文档的“部署”部分。

假设AWS调用application.run(),有什么方法可以解决此问题?

预先感谢

1 个答案:

答案 0 :(得分:0)

Flask-SocketIO对负载均衡器和Web服务器有非常特定的要求。我认为您可以使用粘性会话配置ELB负载平衡器,这将使其起作用,但是我认为不起作用的部分是使用eventlet或gevent Web服务器,因为AWS以其自己的方式调用了callable。您需要的是一种使用socketio.run()的方法或启动eventlet / gevent Web服务器的等效过程。