Проблемы с развертыванием проекта на heroku
Я написал проект на flask и flask-socketio. Решил попробовать развернуть его на Heroku по ссылке https://test-viruses.herokuapp.com/ Проблема в том, что на главной странице есть кнопка создания комнаты, при нажатии на которую можно выбрать параметры комнаты и создать ее. Запрос создания комнаты отправляется на сервер с помощью socketio. Но создать комнату у меня получилось только с 8 попытки, а предыдущие 7 ошибка
GET https://test-viruses.herokuapp.com/socket.io/?EIO=3&transport=polling&t=1591429361376-57&sid=5499b25cc1e843418440b2ae8128f215 400 (BAD REQUEST)
Могу предположить что проблема в Procfile, так как я новичок и впервые с ним столкнулся. Вот Procfile:
web: gunicorn server:app --log-file=-
Сам проект на github https://github.com/victormorozov1/flask-socketio-online-game
Кто нибудь может указать проблему?
Ответы (1 шт):
Скачайте свой проект, создайте виртуальное окружение и активируйте его.
python -m venv venv
venv\Scripts\activate
Установите имеющиеся зависимости, добавьте новую и обновите файл зависимостей
pip install -r requirements.txt
pip install eventlet
pip freeze > requirements.txt
Измените содержимое файла Procfile на следующее
web: gunicorn --worker-class eventlet -w 1 server:app
Измените условие в файле server.py
from app import create_app, socketio
from os import environ
app = create_app()
if __name__ == '__main__':
host = '0.0.0.0'
port = int(environ.get('PORT', 5000))
socketio.run(app, host=host, port=port)
Сделайте коммит и отправьте на Heroku
git commit -am "some name"
git push heroku master
Работает без ошибки, комната создается сразу, мой тест.