Heroku:不能运行超过1个免费大小的dynos



我试图运行

heroku run rake db:migrate

并且得到错误

不能运行超过1个可用大小的dynos。

请参阅以下内容了解如何修复。。。

最有效

控制台运行中:

heroku ps

结果是这样的:

run.4859 (Free): up 2016/01/12 21:28:41 (~ 7m ago): rails c

因此,数字4859表示打开并且需要关闭的会话。要修复您需要运行的错误(显然,将数字4859替换为获得的数字):

heroku ps:stop run.4859

这是一个非常简单的解决方案。

答案是寻找任何打开的heroku会话(正如john上面指出的,你可以使用"heroku-ps"),在我的情况下,我已经在30分钟前启动了一个heroku控制台会话,但却忘记了它;不能运行超过1个自由大小的dynos";error只需关闭您打开的任何现有控制台或其他heroku会话。

希望这能让我在十分钟内清醒过来。

遇到了完全相同的问题,来到了本页。阅读后意识到发生了什么,但想添加以下内容。

只运行

heroku kill DYNO --app your_app_name

在此之后,关闭所有打开的控制台。

然后运行db migrate命令,它就会工作。

在我的情况下,我运行heroku ps:restart来重新启动所有dynos,heroku run *命令再次工作。

示例

如果您只有一个用于Heroku的Git远程,请使用此:

heroku ps:restart && heroku run *

如果您有多个Heroku的Git遥控器,请使用以下命令:

heroku ps:restart --remote your-remote-name && heroku run * --remote your-remote-name

heroku ps:restart --app your-heroku-app-name && heroku run * --app your-heroku-app-name

*替换为您的命令,例如用于Rails控制台的console


这里我所说的your-heroku-app-name是指您的Heroku应用程序的子域。例如,如果您的应用程序URL是https://cute-cat.herokuapp.com,则意味着your-heroku-app-namecute-cat

如果你不确定/忘记了Heroku的Git远程名称是什么,git remote -v可以帮助你。

示例:

$ git remote -v
this-is-the-remote-name      https://git.heroku.com/xxx.git (fetch)
this-is-the-remote-name      https://git.heroku.com/xxx.git (push)
this-is-another-remote-name  https://git.heroku.com/yyy.git (fetch)
this-is-another-remote-name  https://git.heroku.com/yyy.git (push)

只需重新启动所有dynos。heroku restart

对我来说,有一个命令在web运行控制台上运行,我刚刚结束了它在那里的会话,它得到了解决。

注意:Heroku免费层即将消失

"如果我不对我的免费应用程序或数据库采取行动,或者不升级到付费计划,会发生什么?

从2022年11月28日开始,免费dynos将缩小到0,业余爱好开发数据库将被删除;

"从2022年11月28日开始,免费的Heroku Dynos、免费的Herooku Postgres和Redis®计划的免费Heroku Data将不再可用。如果你有使用这些资源的应用程序,你必须在此日期之前升级到付费计划,以确保你的应用程序继续运行并保留你的数据。有关更多信息,请参阅我们的博客和常见问题解答"

参考:

https://blog.heroku.com/next-chapter

https://devcenter.heroku.com/articles/free-dyno-hours

https://help.heroku.com/RSBRUH58/removal-of-heroku-free-product-plans-faq

最新更新