Почему некоторые аспекты моего приложения Rails публично выдают исключение при развертывании в Heroku? - PullRequest
1 голос
/ 18 октября 2011

Я прорабатываю Учебное пособие Майкла Хартла по Ruby on Rails (на Mac OSX 10.7.2 / Ruby 1.9.2 / Rails 3.1.1) и только что закончил главу 2, которая заканчивается развертываниемдемонстрационное приложение для Twitter в Heroku.

Кажется, что все работает правильно, когда я запускаю приложение локально, и я смог успешно развернуть приложение в Heroku в некотором объеме, потому что оно доступно здесь: http://rich-twitter-baby.heroku.com/

Однако я не могу понять, почему страницы / users и / microposts не отображаются публично (со списками пользователей и microposts соответственно), как они делают на местном уровне.Я перенес свою базу данных в Heroku и отправил туда информацию, и все, казалось, работало правильно, но я получаю это сообщение об ошибке , когда я пытаюсь просмотреть страницы публично.

Я пыталсязапускаю "консоль heroku", но получаю эту ошибку:

Unable to attach to a dyno to open a console session.
Your application may have crashed.
Check the output of "heroku ps" and "heroku logs" for more information.

И в логах написано ошибка H13 , тогда как ps выглядит так:

Process       State               Command
------------  ------------------  ------------------------------
web.1         idle for 1h         thin -p $PORT -e $RACK_ENV -R $HER..

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

Спасибо!

Ответы [ 3 ]

2 голосов
/ 18 октября 2011

Я бы обратился в службу поддержки Heroku по этому вопросу.Динозавры могут потерпеть крах и стать «зомбированными», что означает, что они просто сидят без дела.

Обычно они вычищаются в течение нескольких часов, но это не должно случаться так часто, если вообще.

Выполнение нового развертывания также обычно перезапускает все обратно, чтобы очистить.

Если это происходит постоянно, вы пытались раскрутить приложение локально в производственном режиме, чтобы попытаться воспроизвести проблему

rails server -e production

или добавьте что-то вроде дополнения Airbrake в ваше приложение, чтобы зафиксировать ошибку.

0 голосов
/ 19 октября 2011

Я связался со службой поддержки Heroku по этой проблеме, и оказалось, что ответ был связан с тем, в какой стек развертывалось мое приложение. Я сделал их обходной путь, и все теперь работает. Вот полная информация от них:

Похоже, проблема в том, что вы используете Rails 3.1 и наш стек Bamboo; у нас есть полная> поддержка конвейера активов в нашем стеке Cedar [1]. Поскольку это просто демонстрационное приложение, простой обходной путь - это предварительная компиляция локально и фиксация файлов:

rake assets:precompile 
git add -A 
git commit -m "precompiling assets" 
git push heroku master

Чтобы получить полную поддержку конвейера активов, вам нужно создать свое приложение в стеке Cedar и затем> повторить процесс, который вы сделали, чтобы ваше приложение Bamboo заработало.

[1]: http://devcenter.heroku.com/articles/rails31_heroku_cedar

0 голосов
/ 18 октября 2011

Проверьте ваш журнал, используя

$> heroku logs

В командной строке вашей системы разработки, которую вы использовали для отправки в heroku.

Опубликуйте журнал здесь, если вы не можете понять этоиз этого.

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