консоль запуска heroku возвращает сообщение «Ошибка подключения к процессу» - PullRequest
30 голосов
/ 25 сентября 2011

Я развернул приложение rails 3.1 в стек Heroku Cedar и пытаюсь выполнить:

heroku run rake db:migrate

, он возвращает:

Running console attached to terminal... 
Error connecting to process

Я также пытаюсь просто запуститьconsole:

heroku run console

Любая команда запуска возвращает ту же ошибку.

Running console attached to terminal... 
Error connecting to process

Просматривая журналы, я получаю код ошибки:

2011-09-25T16:04:52+00:00 app[run.2]: Error R13 (Attach error) -> Failed to attach to process

Когда я heroku ps вижу текущие процессы, я вижу, что мои попытки выполняются:

Process       State               Command
------------  ------------------  ------------------------------
run.2         complete for 26m    bundle exec rails console
run.3         up for 27s          bundle exec rails console
run.4         up for 3s           bundle exec rake db:create
web.1         up for 46s          bundle exec thin start -p $PORT -e..

Но, опять же, каждый из них выдвигает исключения:

2011-09-25T16:31:47+00:00 app[run.3]: Error R13 (Attach error) -> Failed to attach to process
2011-09-25T16:31:47+00:00 heroku[run.3]: Process exited
2011-09-25T16:31:48+00:00 heroku[run.3]: State changed from up to complete
2011-09-25T16:32:11+00:00 app[run.4]: Error R13 (Attach error) -> Failed to attach to process
2011-09-25T16:32:11+00:00 heroku[run.4]: Process exited
2011-09-25T16:32:12+00:00 heroku[run.4]: State changed from up to complete

Администратор сервера не выпил мою чашку чая, отсюда и решение использовать Heroku.

И документы Heroku, и Googling не привели меня на путь, который дал мне многое для дальнейшего развития.

Есть идеи?Это не был мой опыт работы со стеком Bamboo.

Другие мои ошибки, очевидно, связаны с тем, что миграции БД не выполняются.Пока я не могу запустить грабли, я застрял, двигаясь вперед.

Ответы [ 7 ]

81 голосов
/ 16 января 2012

У меня была такая же проблема, и хотя я не решил проблему, я нашел обходной путь.

Вместо использования:

Герои бегут по граблям дб: мигрируют

Вы можете использовать:

герой бега: оторванные грабли, дб: мигрирование

Запускает команду в фоновом режиме, записывая вывод в журнал. По окончании вы можете просмотреть журнал результатов.

Не идеально, но когда вы находитесь в неадекватной сети, это вырвет вас из дыры:)

17 голосов
/ 03 октября 2011

Эта проблема обычно вызывается проблемой подключения или брандмауэра.Вы можете проверить ваше соединение с серверами heroku run и heroku console, выполнив следующие команды:

$ telnet rendezvous.heroku.com 5000 
$ telnet s1.runtime.heroku.com 5000

(Если вы можете подключиться успешно, нажмите Ctrl +] , а затемвведите quit, чтобы выйти из сеанса telnet.)

Некоторые пользователи имеют успех после внесения в белый список этих комбинаций имя хоста + порт в своем брандмауэре.

Heroku упоминает об этом в разделе устранения неполадок одноразовых процессов: http://devcenter.heroku.com/articles/oneoff-admin-ps

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

4 голосов
/ 18 ноября 2014

Кажется, это происходит по разным причинам.Для меня оказалось, что у меня установлена ​​более старая версия Heroku Toolbelt.Это было до самообновляющейся версии, и у меня также были установлены старые версии самоцветов heroku.Их нужно было удалить до того, как обновление пояса герою оказало какое-либо влияние

Эта страница оказалась полезной.Сначала прочтите: https://devcenter.heroku.com/articles/heroku-command#staying-up-to-date

Узнайте, какую версию Heroku Toolbelt (если есть) вы используете следующим образом:

$ heroku version
heroku-toolbelt/2.xx.x 

Если она старше версии 2.32.0, тогда она нуждаетсябыть обновленным.Если вы не видите 'heroku-toolbelt' в ответе, вам нужно установить его.

Убедитесь, что сначала вы удалили все старые драгоценные камни heroku. Запуск команды ниже спросил меня, не хочу ли я удалить исполняемые файлы.Правильный ответ ДА! Вы всегда можете собрать / установить позже, если вам нужен гем для определенных приложений.

$ gem uninstall heroku --all

Если вы используете rbenv, вам может потребоваться перефразировать:

$ rbenv rehash

После того, как вы очистите старые драгоценные камни, загрузите текущий пояс для инструментов heroku и установите его.Все должно работать после перезапуска терминала.

РЕДАКТИРОВАТЬ:

Я должен был убедиться, что мой путь rbenv не был установлен перед путь к герою кли.В противном случае любая связка / установка старого самоцвета heroku снова захватит команду heroku.Я добавил строку пути экспорта в конец моего файла ~ / .profile, чтобы он был добавлен перед любым путем rbenv.

$ vi ~/.profile
export PATH=/usr/local/heroku/bin:$PATH

Перезагрузка терминала показала, что это работает, и путь не находится в /usr / local / heroku

$ which heroku
/usr/local/heroku/bin/heroku
1 голос
/ 27 сентября 2011

Попробуйте установить последнюю версию гема heroku и затем снова запустить эти команды "heroku run".

0 голосов
/ 01 июня 2016

Для меня модернизировалась моя поясная оснастка герою и кли работал. Я использую brew так это выглядит так:

brew upgrade heroku-toolbelt
0 голосов
/ 13 ноября 2011

Решено - протестировано с 3G-модемом и получено ответов, не похоже на брандмауэр; возможно прокси или провайдер.

0 голосов
/ 25 сентября 2011

Это похоже на проблему с Heroku - я получаю ошибки при подключении к консоли в моих приложениях, работающих на CedarВы, конечно, не делаете ничего плохого с набираемыми вами командами.

...