#heroku #cloud #plotly #data-visualization #streamlit
Вопрос:
Я создавал веб-приложение на Heroku и столкнулся с этой проблемой:
2020-10-24T03:56:57.857273 00:00 app[web.1]: You can now view your Streamlit app in your browser.
2020-10-24T03:56:57.857320 00:00 app[web.1]:
2020-10-24T03:56:57.857675 00:00 app[web.1]: Network URL: http://172.17.131.6:8501
2020-10-24T03:56:57.857819 00:00 app[web.1]: External URL: http://34.202.9.122:8501
2020-10-24T03:56:57.857932 00:00 app[web.1]:
2020-10-24T03:56:59.458188 00:00 app[web.1]: 2020-10-24 03:56:59.458 Generating new fontManager, this may take some time...
2020-10-24T03:57:41.000000 00:00 app[api]: Build succeeded
2020-10-24T03:57:52.127634 00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
2020-10-24T03:57:52.147741 00:00 heroku[web.1]: Stopping process with SIGKILL
2020-10-24T03:57:52.252583 00:00 heroku[web.1]: Process exited with status 137
2020-10-24T03:57:52.301275 00:00 heroku[web.1]: State changed from starting to crashed
2020-10-24T03:57:53.705631 00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=okc-thunder-rebounds.herokuapp.com request_id=a90bb347-f583-4bec-8a6c-37bfea93908e fwd="71.232.30.113" dyno= connect= service= status=503 bytes= protocol=https
Мой setup.sh похоже на:
mkdir -p ~/.streamlit/
echo "
[general]n
email = "qemail@domain.com"n
" > ~/.streamlit/credentials.toml
echo "
[server]n
headless = truen
enableCORS=falsen
port = $PORTn
" > ~/.streamlit/config.toml
И мой файл Procfile выглядит так:
web: sh setup.sh amp;amp; streamlit run rebound_app.py
Где все идет не так?
Ответ №1:
Приложение должно быть привязано к порту, предоставленному Heroku, через переменную $PORT
env. Это требование для каждого веб-динамо.
Вам нужно передать порт $в streamlit
echo PORT $PORT
streamlit run --server.port $PORT rebound_app.py
Комментарии:
1. Спасибо, но нужно ли нам это делать? Я не делал этого раньше, и это сработало.
2. Так что , если я прав, содержимое внутри файла Procfile будет: echo PORT $PORT web: sh setup.sh amp;amp; запуск с потоковым освещением —сервер.порт $ПОРТ rebound_app.py