Разверните колбу на розетке - PullRequest
0 голосов
/ 11 октября 2018

Я не могу заставить Flask-SocketIO работать с моим экземпляром в AWS Elastic Beanstalk (ELB), поскольку требуется запустить Flask-SocketIO с socketio.run (приложение), ELB, кажется, выполняет вызовы глобального приложениясам объект.

В документации ELB говорится, что использование application.py в качестве имени файла и предоставление вызываемого объекта приложения (в данном случае объекта Flask) позволяет Elastic Beanstalk легко находить код вашего приложения.

Мои журналы экземпляров ELB показывают ошибку RuntimeError: Вам необходимо использовать сервер событий.Дополнительные сведения см. В разделе «Развертывание» документации.

Можно ли как-то решить эту проблему, предполагая, что AWS вызывает application.run ()?

Заранее спасибо

1 Ответ

0 голосов
/ 25 октября 2018

Flask-SocketIO предъявляет особые требования к балансировщику нагрузки и веб-серверу.Я думаю, что вы можете настроить балансировщик нагрузки ELB с помощью липких сессий, и это заставит его работать, но часть, которая, как мне кажется, не работает, использует eventlet или gevent веб-серверы, так как AWS вызывает вызываемый по-своему.Вам нужен способ socketio.run() или эквивалентная процедура, которая запускает веб-сервер eventlet / gevent.

...