Ruby on rails Rails 3/Heroku infinite zombie dynos和简单的应用程序部署-太忙,无法打开控制台
在谷歌上搜索的结果如此之少,这让我觉得我做了一些完全错误的事情,因为这似乎是一个非常普遍的问题。然而,我似乎找不到一个简单的解决方案,Heroku的文档总体上很糟糕,他们的支持需要一天以上的时间才能回复,所以我来了 我有一个我第一次尝试部署的应用程序。这是一个非常精简的应用程序,几乎是一个shell应用程序。它在dev上工作,然后在我部署到heroku时崩溃,出现了一个毫无帮助的HTML错误页面:Ruby on rails Rails 3/Heroku infinite zombie dynos和简单的应用程序部署-太忙,无法打开控制台,ruby-on-rails,ruby,ruby-on-rails-3,heroku,Ruby On Rails,Ruby,Ruby On Rails 3,Heroku,在谷歌上搜索的结果如此之少,这让我觉得我做了一些完全错误的事情,因为这似乎是一个非常普遍的问题。然而,我似乎找不到一个简单的解决方案,Heroku的文档总体上很糟糕,他们的支持需要一天以上的时间才能回复,所以我来了 我有一个我第一次尝试部署的应用程序。这是一个非常精简的应用程序,几乎是一个shell应用程序。它在dev上工作,然后在我部署到heroku时崩溃,出现了一个毫无帮助的HTML错误页面: Application Error An error occurred in th
Application Error
An error occurred in the application and your page could not be served.
Please try again in a few moments.
If you are the application owner, check your logs for details.
好的,最好检查一下日志。但Heroku日志什么也没告诉我:
Ovid:volatilityApp dlipa$ heroku logs
Ovid:volatilityApp dlipa$
Ovid:volatilityApp dlipa$ heroku logs -n 300
Ovid:volatilityApp dlipa$
好的,嗯……最好登录控制台看看发生了什么
Ovid:volatilityApp dlipa$ heroku console
Your application is too busy to open a console session.
Console sessions require an open dyno to use for execution.
嗯,太糟糕了,让我们看看正在运行的是什么
Ovid:volatilityApp dlipa$ heroku ps
Process State Command
------------ ------------------ ------------------------------
web.1 crashed for 4m thin -p $PORT -e $RACK_ENV -R $HER..
有道理。但是为什么希罗库的dyno网格不清除这个呢?Heroku网站上没有关于主题的信息。谷歌搜索会导致
好的,很酷,我安装了rack timeout gem,添加了初始值设定项并推送到heroku。我看着它完成“捆绑安装”。但还是一样的问题
Ovid:volatilityApp dlipa$ heroku console
Your application is too busy to open a console session.
Console sessions require an open dyno to use for execution.
啊,这真的很神秘,开始令人沮丧。也许我应该从Heroku那里购买更多的资源……这应该可以解决问题,因为那样我就有更多的dynos来打开控制台了
Ovid:volatilityApp dlipa$ heroku dynos
volatility is running 1 dyno
Ovid:volatilityApp dlipa$ heroku dynos 2
volatility now running 2 dynos
但是等等,Heroku加载的web进程和我的dynos一样多,它们都是僵尸!无论我的比例有多高,我都无法进入控制台
Ovid:volatilityApp dlipa$ heroku dynos 10
volatility now running 10 dynos
Ovid:volatilityApp dlipa$ heroku ps
heroku consoleProcess State Command
------------ ------------------ ------------------------------
web.1 crashed for 2m thin -p $PORT -e $RACK_ENV -R $HER..
web.2 crashed for 1m thin -p $PORT -e $RACK_ENV -R $HER..
web.3 crashed for 37s thin -p $PORT -e $RACK_ENV -R $HER..
web.4 crashed for 36s thin -p $PORT -e $RACK_ENV -R $HER..
web.5 crashed for 35s thin -p $PORT -e $RACK_ENV -R $HER..
web.6 crashed for 35s thin -p $PORT -e $RACK_ENV -R $HER..
web.7 crashed for 37s thin -p $PORT -e $RACK_ENV -R $HER..
web.8 crashed for 33s thin -p $PORT -e $RACK_ENV -R $HER..
web.9 crashed for 38s thin -p $PORT -e $RACK_ENV -R $HER..
web.10 crashed for 34s thin -p $PORT -e $RACK_ENV -R $HER..
Ovid:volatilityApp dlipa$ heroku console
Your application is too busy to open a console session.
Console sessions require an open dyno to use for execution.
Ovid:volatilityApp dlipa$
是我还是这个设计拙劣?为什么没有关于这个主题的信息?我做错什么了吗
谢谢你的帮助
运行3.0.5 rails、1.9.2 ruby和postgresql的应用程序
--更新以回应BANTIC--
链接至回购:
您是否在heroku上运行与本地相同的堆栈?Heroku新应用程序默认为mri ruby 187,afaik。您可以尝试将heroku堆栈迁移到1.9.2。您可以通过以下方式实现:
heroku stack:migrate bamboo-mri-1.9.2
下次推送到heroku git repo时,堆栈将被迁移
你能提供更多关于你的应用程序的信息吗?是产生新的进程还是使用线程?我来到这个线程是因为我有同样的问题。在我的例子中,问题是“routes.rb”文件中的一个错误。谢谢您的帮助--请参阅响应。但答案通常是否定的--据我所知,没有新的进程或线程。
heroku stack:migrate bamboo-mri-1.9.2