Heroku: Ошибка R10 (время загрузки) -> Веб-процессу не удалось привязаться к $ PORT в течение 60 секунд после запуска - Python - PullRequest
0 голосов
/ 25 августа 2018

Я пытаюсь разместить в себе бутылочное приложение, которое использует тензор потока к герою, приложение запускается, и у меня также есть 'сервер, работающий на порту' . но приложение не открывается, и через минуту или около того оно показывает следующий след

Открытие трассировки о том, что сервер работает успешно,

2018-08-25T19:46:55.651043+00:00 heroku[web.1]: Starting process with command `python ./api.py -p 37040`
2018-08-25T19:47:01.379243+00:00 app[web.1]: Bottle v0.12.13 server starting up (using WSGIRefServer())...
2018-08-25T19:47:01.379274+00:00 app[web.1]: Listening on http://127.0.0.1:8080/
2018-08-25T19:47:01.379309+00:00 app[web.1]: Hit Ctrl-C to quit.
2018-08-25T19:47:01.379318+00:00 app[web.1]:undefined

Через несколько минут. трассировка ошибки.

2018-08-25T19:47:56.239318+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
2018-08-25T19:47:56.239392+00:00 heroku[web.1]: Stopping process with SIGKILL
2018-08-25T19:47:56.330436+00:00 heroku[web.1]: Process exited with status 137
2018-08-25T19:47:56.353021+00:00 heroku[web.1]: State changed from starting to crashed
2018-08-25T19:47:59.452460+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=boiling-forest-70642.herokuapp.com request_id=8b62b91c-8f22-4c37-b3c5-cbc7e8415e3d fwd="123.231.104.11" dyno= connect= service= status=503 bytes= protocol=https
2018-08-25T19:47:59.500660+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/robots.txt" host=boiling-forest-70642.herokuapp.com request_id=e8860f29-40fd-46b1-b9f2-96683f53d524 fwd="123.231.104.11" dyno= connect= service= status=503 bytes= protocol=https
2018-08-25T19:48:02.118233+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=boiling-forest-70642.herokuapp.com request_id=1f9aafbe-f410-46ab-84ed-41bbc90857e6 fwd="123.231.104.11" dyno= connect= service= status=503 bytes= protocol=https

Я не знаю, что я сделал неправильно, так как я новичок в героку или бутылке.

PROCFILE:

web: python ./api.py -p $PORT

файл api.py

@get('/')
def get_top_predictions():
    #lable_index, labels_list, results_list = li.get_lables("bottle.jpg")
    #selected_list = [{"class": labels_list[i], "probability": float(results_list[i]) } for i in lable_index]
    #return {"predictions": selected_list}
    return {"predictions": "Hello Man"}

run()

Также я попробовал такие опции, как установка run(host='0.0.0.0'). все еще это не работает и дает то же самое сообщение об ошибке.

Может кто-нибудь сказать мне, что с этим не так?

1 Ответ

0 голосов
/ 31 августа 2018

Ваше приложение должно быть привязано к предоставленному Heroku порту по внешне видимому адресу.У вас есть оба ингредиента, только неправильно смешанные.Вы пробовали run(host='0.0.0.0') и включаете -p $PORT в Procfile, но не показывает код, указывающий, как вы его используете.

Попробуйте вместо этого:

run(host='0.0.0.0', port=os.environ.get('PORT', '5000'))
...