Как исправить ошибку «Клиентский запрос прерван» в Heroku (с приложением rails)? - PullRequest
0 голосов
/ 11 февраля 2019
  1. Я развернул свое приложение rails на Heroku.
  2. Когда я пытаюсь создать новый профиль, мое приложение вылетает.В моих журналах отображается ошибка прерванного запроса клиента.Вы можете увидеть мои журналы ниже.

  3. Я искал эту ошибку в центре разработки heroku: https://devcenter.heroku.com/changelog-items/662

На этой странице (https://devcenter.heroku.com/changelog-items/662):

В нем сказано: «Эта ошибка будет записана, если сокет клиента был закрыт либо в середине запроса, либо до того, как ответ мог быть возвращен».

Затем

«Это условие ошибки вызвало регистрацию H18, и поле sock можно было использовать для разграничения между ошибками H18 и H27».

H18 - запрос сервера прерван

внутренний сокет,принадлежность веб-процесса вашего приложения была закрыта до того, как сервер вернул HTTP-ответ.

2019-02-05T15:53:19.905345+00:00 app[web.1]: bundler: failed to load command: puma (/app/vendor/bundle/ruby/2.5.0/bin/puma)
2019-02-05T15:53:19.905399+00:00 app[web.1]: SignalException: SIGTERM
2019-02-05T15:53:19.905401+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/launcher.rb:398:in `block in setup_signals'
2019-02-05T15:53:19.905406+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/single.rb:115:in `join'
2019-02-05T15:53:19.905407+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/single.rb:115:in `run'
2019-02-05T15:53:19.905409+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/launcher.rb:184:in `run'
2019-02-05T15:53:19.905410+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/puma-3.12.0/lib/puma/cli.rb:78:in `run'
2019-02-05T15:53:19.905412+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/puma-3.12.0/bin/puma:10:in `<top (required)>'
2019-02-05T15:53:19.905414+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/bin/puma:23:in `load'
2019-02-05T15:53:19.905415+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/bin/puma:23:in `<top (required)>'
2019-02-05T21:33:39.526627+00:00 heroku[web.1]: Unidling
2019-02-05T21:33:53.579585+00:00 app[web.1]: Puma starting in single mode...
2019-02-05T21:33:53.579631+00:00 app[web.1]: * Version 3.12.0 (ruby 2.5.3-p105), codename: Llamas in Pajamas
2019-02-05T21:33:53.579632+00:00 app[web.1]: * Min threads: 5, max threads: 5
2019-02-05T21:33:53.579634+00:00 app[web.1]: * Environment: production
2019-02-05T21:34:00.063370+00:00 heroku[web.1]: State changed from starting to up
2019-02-05T21:33:59.640588+00:00 app[web.1]: * Listening on tcp://0.0.0.0:11397
2019-02-05T21:33:59.642173+00:00 app[web.1]: Use Ctrl-C to stop
2019-02-05T21:34:02.204235+00:00 heroku[router]: sock=client at=warning code=H27 desc="Client Request Interrupted" method=GET path="/" host=agora-challenge.herokuapp.com request_id=9d994b8b-eff4-4088-b2be-a42b14fec708 fwd="209.17.96.226" dyno=web.1 connect=1ms service=119ms status=499 bytes= protocol=https

Важная часть, на которую следует обратить внимание, - это sock = client, что означает, что запрос был прерван по запросу клиента:

2019-02-05T21:34:02.204235+00:00 heroku[router]: sock=client at=warning code=H27 desc="Client Request Interrupted" method=GET path="/" host=agora-challenge.herokuapp.com request_id=9d994b8b-eff4-4088-b2be-a42b14fec708 fwd="209.17.96.226" dyno=web.1 connect=1ms service=119ms status=499 bytes= protocol=https

Я не понял ни объяснений центра разработки Heroku, ни предыдущих вопросов о переполнении стека.

Большое спасибо за ваши ответы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...