Консоль запуска Heroku получает «Процесс ожидания ожидания» - PullRequest
19 голосов
/ 21 декабря 2011

В последнее время невозможно подключить консоль к Heroku:

lsoave@ubuntu:~/rails/github/gitwatcher$ heroku run console
Running console attached to terminal... 
Timeout awaiting process
lsoave@ubuntu:~/rails/github/gitwatcher$ 

Это случается с кем-то еще?

Ответы [ 5 ]

42 голосов
/ 14 октября 2012

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

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

heroku run:detached rake db:migrate

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

heroku logs -p run.1

Это говорит о том, что она должна выводить журналы для запущенного процесса.Но я обнаружил, что команда logs выходила, хотя мой процесс все еще работал.Чтобы обойти это, вы можете добавить «-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

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

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

От: 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 '^]'. 

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

3 голосов
/ 13 марта 2012

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

Для этой команды heroku: геройку беги грабли дб: мигрируй Можно сделать звонок в Ruby система ("rake db: migrate")

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

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

1 голос
/ 07 марта 2017

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

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

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

0 голосов
/ 21 декабря 2011

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...