Проблемы с развертыванием проекта на 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 шт):

Автор решения: Viewed

Скачайте свой проект, создайте виртуальное окружение и активируйте его.

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

Работает без ошибки, комната создается сразу, мой тест.

→ Ссылка