最近没办法让控制台与Heroku连接:
lsoave@ubuntu:~/rails/github/gitwatcher$ heroku run console
Running console attached to terminal...
Timeout awaiting process
lsoave@ubuntu:~/rails/github/gitwatcher$
是否会发生在其他人身上?
答案 0 :(得分:42)
我在ISP FastWeb遇到了同样的问题,这是一个在意大利的ISP。基于我的谷歌搜索,它们似乎阻止了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
我确信有人可以制作一个
的剧本run:detached
heroku logs -p run.1 -t
并显示输出State changed from up to complete
答案 1 :(得分:18)
来自:http://devcenter.heroku.com/articles/oneoff-admin-ps
heroku运行进程在端口5000上打开与Heroku的连接。如果 您的本地网络或ISP阻止端口5000,或者您是 遇到连接问题,您会看到类似于以下错误:
$ heroku run rails console Running rails console attached to terminal... Timeout awaiting process
您可以尝试直接连接来测试与Heroku的连接 使用telnet到rendezvous.heroku.com到端口5000。一个成功的 会话将如下所示:
$ telnet rendezvous.heroku.com 5000 Trying 50.19.103.36... Connected to ec2-50-19-103-36.compute-1.amazonaws.com. Escape character is '^]'.
如果您没有收到此输出,则表明您的计算机已被阻止 访问我们的服务。我们建议您联系您的IT部门, ISP或防火墙制造商继续解决这个问题。
答案 2 :(得分:3)
有一种方法可以通过执行'heroku run ...'执行的命令直接作为系统调用来绕过这个限制。
对于这个heroku命令: heroku运行rake db:migrate 一个人可以用Ruby打电话 system(“rake db:migrate”)
此调用可以在某些HTTP GET请求中完成 - 您可以通过某种方式更好地保护,以便陌生人无法访问它。
这不是一个好方法 - 但是当你没有选择时 - 它有效。
答案 3 :(得分:1)
我在ISP FastWeb上遇到了同样的问题,这是一个在意大利的ISP。
解决此问题的最简单方法是在使用heroku run (something)
我个人使用免费提供0.5GB互联网流量的Tunnel Bear
答案 4 :(得分:-1)
我刚刚成功连接到Heroku上的控制台
是所有应用还是只是一个?我建议检查你的heroku gem是最新的,你可以运行其他命令,比如heroku ps,通过heroku restart重新启动你的应用程序 - 如果你已经尝试过这些,那么请联系Heroku支持,因为你的应用程序有问题