У меня есть приложение flask-socketio, размещенное на heroku со следующим файлом Procfile:
web: gunicorn --worker-class eventlet hello:app
С тех пор, как я перешел на socketio, приложение ведет себя непоследовательно. Раньше приложение запускалось какое-то время, а затем истекал тайм-аут POST-запросов.
Со вчерашней ночи я получаю сообщение об ошибке
sock=backend at=error code=H18 desc="Server Request Interrupted" method=GET path="/static/js/third-party/browser.js" host=deard.herokuapp.com request_id=725da6af-aa29-4293-a411-2c89977f1d4d fwd="216.165.95.0" dyno=web.1 connect=1ms service=36ms status=503 bytes=13811
Я прочитал описание кода ошибки heroku, в котором говорится: «Внутренний сокет, принадлежащий веб-процессу вашего приложения, был закрыт до того, как серверная часть вернула HTTP-ответ».
Но я понятия не имею, почему это могло происходить.
Любая подсказка относительно того, на что мне следует обратить внимание, поможет мне отладить это.
Я мог бы поделиться кодом, но в нем 300 строк, и, поскольку я не знаю, откуда возникла ошибка, я не уверен, что это будет полезно.
--worker-class socketio.sgunicorn.GeventSocketIOWorker
. Я следую этому здесь. - person wgwz   schedule 11.01.2016GeventSocketIOWorker
используется, когда вы используете gevent-socketio. Но Flask-SocketIO не использует этот пакет. - person Miguel   schedule 11.01.2016logger=True, engineio_logger=True
в вашSocketIO
конструктор. - person Miguel   schedule 11.01.2016