консоль Heroku run возвращает "ошибка подключения к процессу"
я развернул приложение rails 3.1 в Heroku Cedar stack и пытаюсь выполнить:
heroku run rake db:migrate
возвращает:
Running console attached to terminal...
Error connecting to process
Я также пытаюсь просто запустить консоль:
heroku run console
любая команда run возвращает ту же ошибку.
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 docs и Googling не привели меня по пути, который дает мне много, чтобы идти дальше.
какие идеи? Это не было моим опытом в Bamboo stack.
мои другие ошибки, очевидно, связаны с миграциями БД, которые не выполняются. Пока я не справлюсь с заданиями рейка, я буду двигаться вперед.
7 ответов
У меня была та же проблема, и хотя я не решил проблему, я нашел обходной путь.
вместо:
heroku run rake db: миграция
вы можете использовать:
heroku run: отсоединенные грабли db: migrate
это запускает команду в фоновом режиме, записывая выходные данные в журнал. Когда он будет завершен, вы можете просмотреть журнал для результата.
не идеал, но когда вы находитесь на неадекватная сеть, она вытащит вас из ямы:)
эта проблема обычно вызвана проблемой подключения или брандмауэра. Вы можете проверить свое соединение с 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
приложение, которое занимает много времени для загрузки также может спровоцировать проблемы с подключением. Если сервер не отвечает достаточно быстро, ваше локальное соединение будет таймаутом до загрузки приложения.
кажется, это происходит по разным причинам. Для меня оказалось, что у меня была установлена более старая версия пояса инструментов Heroku. Это было до самообновляющейся версии, и у меня также были установлены старые версии Heroku gems. Тех должны быть удалены перед обновлением в 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 и установите его. Все должно работать после перезагрузки терминала.
EDIT:
Я должен был убедиться, что мой путь rbenv не установлен перед путем heroku cli. В противном случае любой комплект/установка старого драгоценного камня heroku снова захватит команду heroku. Я добавил экспорт линия пути в конце моего ~/.файл профиля, поэтому он будет добавлен перед любым путем rbenv.
$ vi ~/.profile
export PATH=/usr/local/heroku/bin:$PATH
перезагрузка терминала показала, что это работает, запустив и путь не находится в / usr/local / heroku
$ which heroku
/usr/local/heroku/bin/heroku
попробуйте установить последнюю версию Heroku gem, а затем снова запустить эти команды "heroku run".
Это похоже на проблему с Heroku - я получаю ошибки при подключении к консоли в приложениях, запущенных на Cedar. Вы, конечно, не делаете ничего плохого с командами, которые вы вводите.
Solved-tested с 3G tether и полученными ответами, не похоже на брандмауэр; возможно, прокси-сервер или ISP.
для меня обновление моего пояса инструментов heroku и cli работало. Я использую brew
так это выглядит так:
brew upgrade heroku-toolbelt