1-й:
heroku [роутер]: at = код ошибки = H10 desc = "Приложение упало"
Из Heroku Код ошибки docs , H10 означает «Сбой приложения»:
Сбой веб-динамо или тайм-аут при загрузке на веб-динамо представит эту ошибку.
2010-10-06T21:51:09-07:00 app[web.1]: >> Using rails adapter
2010-10-06T21:51:09-07:00 app[web.1]: Missing the Rails 2.3.5 gem.
Please `gem install -v=2.3.5 rails`, update your RAILS_GEM_VERSION
setting in config/environment.rb for the Rails version you do have
installed, or comment out RAILS_GEM_VERSION to use the latest version
installed.
2010-10-06T21:51:10-07:00 heroku[web.1]: Process exited
2010-10-06T21:51:12-07:00 heroku[router]: at=error code=H10 desc="App
crashed" method=GET path="/" host=myapp.herokuapp.com fwd=17.17.17.17
dyno= connect= service= status=503 bytes=
2-й:
Похоже, вы используете бесплатный динамо, который засыпает после 30-минутного периода бездействия .
2020-02-21T04:40:21.658366+00:00 heroku[router] ... (last access) ...
2020-02-21T05:16:18.730746+00:00 heroku[web.1]: Idling
2020-02-21T05:16:18.734547+00:00 heroku[web.1]: State changed from up to down
2020-02-21T05:16:19.783524+00:00 heroku[web.1]: Stopping all processes with SIGTERM
Вы ничего не можете с этим поделать, кроме покупки не спящих динамов. Когда dyno переходит в спящий режим, он останавливает все процессы, запущенные на этом dyno, включая ваше приложение.
2020-02-21T05:16:19.783524+00:00 heroku[web.1]: Stopping all processes with SIGTERM
2020-02-21T05:16:19.801722+00:00 app[web.1]: [2020-02-21 05:16:19 +0000] [4] [INFO] Handling signal: term
2020-02-21T05:16:19.802039+00:00 app[web.1]: [2020-02-21 05:16:19 +0000] [30] [INFO] Worker exiting (pid: 30)
2020-02-21T05:16:19.802390+00:00 app[web.1]: [2020-02-21 05:16:19 +0000] [22] [INFO] Worker exiting (pid: 22)
2020-02-21T05:16:19.809300+00:00 app[web.1]: [2020-02-21 05:16:19 +0000] [14] [INFO] Worker exiting (pid: 14)
2020-02-21T05:16:19.935558+00:00 app[web.1]: [2020-02-21 05:16:19 +0000] [4] [INFO] Shutting down: Master
2020-02-21T05:16:20.000313+00:00 heroku[web.1]: Process exited with status 0
Теперь, когда Heroku отправил сигнал SIGTERM
в ваше приложение, что-то произошло во время между ненормальным завершением (SIGTERM
) и перезапуском приложения, которое вызвало его к краю sh. Возможно, вашему приложению не удалось обработать не очень изящный выход (например, файловый ввод-вывод, соединение с БД не закрыто), поэтому при перезапуске из ненормального состояния оно привело к sh.
2020-02-21T17:24:37.126304+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=overwatchperfectflex.herokuapp.com request_id=21677fce-34ce-4437-94ce-31692db20bce fwd="66.249.84.169,66.102.6.200" dyno= connect= service= status=503 bytes= protocol=https
Итак ...
* Мое приложение отлично работает, если оно размещено локально.
Отлично.
Может быть, вам нужно также проверить, что происходит, когда ваше приложение аварийно завершается. Запустите его локально, затем отправьте тот же сигнал SIGTERM
. Получите PID вашего приложения, затем посмотрите Как я могу отправить сигнал из программы python? .