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

Консоль запуска Heroku получает "Ожидание ожидания"

Не удалось подключить консоль с Heroku в последнее время:

[email protected]:~/rails/github/gitwatcher$ heroku run console
Running console attached to terminal... 
Timeout awaiting process
[email protected]:~/rails/github/gitwatcher$ 

Случается ли это кому-то еще?

4b9b3361

Ответ 1

От: http://devcenter.heroku.com/articles/oneoff-admin-ps

Процесс запуска heroku открывает соединение с Heroku на порту 5000. Если ваша локальная сеть или интернет-провайдер блокируют порт 5000, или вы при возникновении проблемы с подключением вы увидите ошибку, похожую на:

$ heroku run rails console
Running rails console attached to terminal... 
Timeout awaiting process

Вы можете проверить свое соединение с Heroku, попытавшись напрямую подключиться на порт 5000, используя telnet для rendezvous.heroku.com. Успешный сессия будет выглядеть так:

$ telnet rendezvous.heroku.com 5000
Trying 50.19.103.36...
Connected to ec2-50-19-103-36.compute-1.amazonaws.com.
Escape character is '^]'. 

Если вы не получите этот вывод, ваш компьютер заблокирован доступ к нашим услугам. Мы рекомендуем обратиться в ИТ-отдел, ISP или производителя брандмауэра, чтобы продвигаться вперед по этой проблеме.

Ответ 2

У меня была та же проблема на ISP FastWeb, которая является ISP здесь, в Италии. Основываясь на моем Googling, кажется, что они блокируют порт 5000.

Чтобы обойти это сейчас, я запускаю следующее:

heroku run:detached rake db:migrate

Это говорит, что он запускается без ожидания подключения к моей машине на порту 5000. Затем вы можете просмотреть журналы для своего процесса, который вы только что начали. (Команда heroku сообщит вам об этом после запуска):

heroku logs -p run.1

Это говорит ему, чтобы выводить журналы для текущего процесса. Но я обнаружил, что команда журналов выходила, хотя мой процесс все еще работал. Чтобы обойти это, вы можете добавить "-t", если хотите "хвост" журналов:

heroku logs -p run.1 -t   

Вы узнаете, что ваш процесс выполняется, когда вы видите что-то подобное в журналах:

2012-10-14T15:36:41+00:00 heroku[run.1]: Process exited with status 0
2012-10-14T15:36:41+00:00 heroku[run.1]: State changed from up to complete

Я уверен, что кто-то может взломать script, который будет

  • Запустите заданную команду heroku с помощью run:detached
  • Изучите вывод, чтобы определить, каким было его имя процесса (run.1, run.2 и т.д.).
  • запустите heroku logs -p run.1 -t и покажите мне вывод
  • выйти из процесса журналов, когда он видит что-то вроде State changed from up to complete

Ответ 3

Есть способ обойти это ограничение, выполняя команды, которые вы собираетесь выполнять с помощью функции "heroku run..." непосредственно в качестве системных вызовов.

Для этой команды heroku:   heroku run rake db: migrate Можно позвонить в Ruby   system ( "rake db: migrate" )

Этот вызов может быть выполнен в результате некоторого HTTP-запроса GET - вам лучше защитить каким-либо образом, чтобы он не был доступен для незнакомцев.

Это не очень хорошо, но когда у вас нет выбора - он работает.

Ответ 4

У меня была та же проблема в ISP FastWeb, которая является ISP здесь, в Италии.

Самый простой способ преодолеть проблему - установить VPN, когда вы используете heroku run (something)

Лично я использую Tunnel Bear, которые бесплатно предлагают вам 0,5 ГБ интернет-трафика

Ответ 5

Я только что успешно подключился к консоли на Heroku

Это все приложения или только один? Я бы посоветовал проверить, что ваш герой gemku обновлен, что вы можете запускать другие команды, такие как heroku ps, перезапустить приложение с помощью перезапуска heroku - если вы пробовали их, тогда свяжитесь с поддержкой Heroku, поскольку что-то не так с вашей заявкой.