Как отладить Rails-приложение, которое вылетает на Heroku, отлично работает локально - PullRequest
0 голосов
/ 25 июня 2019

Приложение My Rails отлично работает локально. Однако когда я отправил его в Heroku, он неожиданно дает мне Status 503, и я даже не могу перейти на домашнюю страницу, которая является статической страницей.

Странно то, что приложение успешно собирается и разворачивается на Heroku. Но когда я пытаюсь зайти в свое приложение, появляется сообщение «Ошибка приложения». Логи от запуска heroku logs -tail только говорят мне это:

at=error code=H10 desc="App crashed" method=GET path="/" 
host=flow-portal-rails.herokuapp.com 
request_id=3a4ff52c-9ff2-44b0-a701-038b74319bf9 
fwd="107.143.141.1" dyno= connect= service= status=503 
bytes= protocol=https

Я использую BUNDLER 2.0.1, мой Gemfile правильный. Я не уверен, что заставляет мое приложение так себя вести.

Ответы [ 2 ]

1 голос
/ 25 июня 2019

Одна вещь, которую вы можете попробовать установить:

config.eager_load = true

в вашем config/environments/development.rb.

Если у вас есть config.eager_load = false, то у вас может возникнуть проблема в вашем приложении, которую вы не видите в development, потому что код преступника не доступен (и, следовательно, поэтому, загружен).

В Heroku production, напротив, весь ваш код загружается, и может вызывать проблемы, которые вы не видите в development.

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

Теперь установка config.eager_load = true может вызвать различные замедления в разработке, так что имейте это в виду.Я установил config.eager_load = true в development все время, потому что устал от неожиданных сбоев, которые вы описываете.

Или, это может совсем не помочь.Вы должны увидеть.

0 голосов
/ 25 июня 2019

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

Теперь у вас есть два варианта: -

  1. Откатить все ваши миграции, а затем выполнить каждую миграцию по одной и развернуть ее в Heroku.

  2. Просто удалите существующее приложение на Heroku и создайте новое приложение, а затем просто разверните весь свой код с GitHub

Надеюсь, это поможет

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