Развертывание приложения Da sh в Heroku: код ошибки = H10, H13 - PullRequest
1 голос
/ 27 мая 2020

Я впервые развертываю приложение на Heroku. Я создал приложение Da sh в Python, которое отлично работает на localhost, и я смог успешно собрать и развернуть его на Heroku, следуя руководствам для Da sh, хотя приложение не загружается, когда я пытаюсь его запустить ( вместо этого он создает ошибки в журналах).

Я использую машину Windows, и мне также пришлось добавить и использовать этот пользовательский пакет сборки ([находится здесь] [1]), чтобы использовать Git LFS как один моих файлов данных слишком велики, чтобы поместиться в репозиторий Git.

Я создал Procfile:

web: gunicorn app:server

и установлен / добавлен пулемет в requirements.txt

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

2020-05-27T03:43:30.000000+00:00 app[api]: Build succeeded
2020-05-27T03:50:00.231102+00:00 heroku[web.1]: State changed from crashed to starting
2020-05-27T03:50:30.788014+00:00 heroku[web.1]: Starting process with command `gunicorn app:server`
2020-05-27T03:50:34.709044+00:00 app[web.1]: [2020-05-27 03:50:34 +0000] [4] [INFO] Starting gunicorn 20.0.4
2020-05-27T03:50:34.710044+00:00 app[web.1]: [2020-05-27 03:50:34 +0000] [4] [INFO] Listening at: http://0.0.0.0:37455 (4)
2020-05-27T03:50:34.710172+00:00 app[web.1]: [2020-05-27 03:50:34 +0000] [4] [INFO] Using worker: sync
2020-05-27T03:50:34.715383+00:00 app[web.1]: [2020-05-27 03:50:34 +0000] [10] [INFO] Booting worker with pid: 10
2020-05-27T03:50:34.720666+00:00 app[web.1]: [2020-05-27 03:50:34 +0000] [11] [INFO] Booting worker with pid: 11
2020-05-27T03:50:35.355566+00:00 heroku[web.1]: State changed from starting to up
2020-05-27T03:50:56.465384+00:00 heroku[web.1]: Process running mem=1280M(250.0%)
2020-05-27T03:50:56.493628+00:00 heroku[web.1]: Error R15 (Memory quota vastly exceeded)
2020-05-27T03:50:56.496502+00:00 heroku[web.1]: Stopping process with SIGKILL
2020-05-27T03:50:56.653528+00:00 heroku[web.1]: Process exited with status 137
2020-05-27T03:50:56.689016+00:00 heroku[web.1]: State changed from up to crashed
2020-05-27T03:50:56.575446+00:00 heroku[router]: at=error code=H13 desc="Connection closed without response" method=GET path="/" host=####.herokuapp.com request_id=56fd4ef7-74a1-4142-9637
-e76cb6a078f6 fwd="155.33.132.49" dyno=web.1 connect=0ms service=19725ms status=503 bytes=0 protocol=https
2020-05-27T03:51:01.934855+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=####.herokuapp.com request_id=1c984ec2-5f22-4620-b3c5-34957d287d0
f fwd="155.33.132.49" dyno=web.1 connect=5000ms service= status=503 bytes= protocol=https

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

1 Ответ

1 голос
/ 27 мая 2020

Некоторые пояснения по ошибкам Heroku:

Ошибка R15: объем памяти вашего приложения превышает 200% разрешенной памяти.
Ошибка H13: процесс в вашем динамометрическом стенде открывает соединение, но закрывает его до того, как в него что-либо будет записано.
Ошибка H10: приложение разбилось и закрывается.


Так что же происходит с вашим приложением?
Понятно, что вы перегружаете память своего дино, в результате чего соединение немедленно закрывается, а приложение перестает работать sh.

Решения:

  • Рассмотрите возможность увеличения ваших дино (по крайней мере, для отладки и проверки, работает ли ваше приложение с большей доступной памятью).
  • Выгрузите данные из вашего приложения, сохраните их в базе данных и динамически извлекайте по мере необходимости.
...