Подтвердить что ты не робот

Возвращает консоль запуска от героя 'Ошибка подключения к процессу'

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

heroku run rake db:migrate

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

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

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

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

Сервер Admin - это не моя чашка чая, следовательно, решение использовать Heroku.

Оба документа Ироку и Гуглинг не привели меня по пути, который дал бы мне многое для продолжения.

Любые идеи? Это не было моим опытом в стеке Бамбука.

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

4b9b3361

Ответ 1

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

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

heroku run rake db: migrate

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

heroku run: отдельный рейк db: migrate

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

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

Ответ 2

Эта проблема обычно вызвана проблемой подключения или брандмауэра. Вы можете проверить подключение к серверам 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

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

Ответ 3

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

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

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

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

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

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

$ gem uninstall heroku --all

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

$ rbenv rehash

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

EDIT:

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

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

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

$ which heroku
/usr/local/heroku/bin/heroku

Ответ 4

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

Ответ 5

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

Ответ 6

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

Ответ 7

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

brew upgrade heroku-toolbelt