Возвращает консоль запуска от героя 'Ошибка подключения к процессу'
Я развернул приложение 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, которые не выполняются. Пока я не могу запустить задачи рейка, я застреваю вперёд.
Ответы
Ответ 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