Heroku有一个platform-api gem这将在这种情况下对你有用。首先将宝石添加到您的Gemfile
并安装它。
gem platform-api
一旦安装完毕,安装Heroku的客户,最好在初始化
$heroku = PlatformAPI.connect(ENV['HEROKU_API_KEY', default_headers: {'Accept' => 'application/vnd.heroku+json; version=3'})
你可以找到如何获得Heroku的API KEY here
现在,缩放的一部分。我猜你有一些内部指标来决定何时进行扩展(按进程数量,请求数量等)。下面的命令将扩大您需要DYNOS的数量,
$heroku.formation.update(APP_NAME, PROCESS_NAME, {quantity: DYNO_COUNT})
这将在需要时应用程序的特定进程扩展到DYNOS的X号。
您可以使用相同的命令来缩减您的dynos数量。此外,下面的命令将帮助你获得当前配置的特定进程DYNOS数量
info = $heroku.formation.info(APP_NAME, PROCESS_NAME)
info['quantity']
为了让供应给您应用中的所有DYNOS的数量,使用
$heroku.app.info(APP_NAME)
编辑:
如果您希望手动执行此操作,那么您可以在heroku的仪表板本身中执行此操作。或者,如果您更喜欢命令行,请安装heroku toolbelt,下面是缩放应用程序的命令。
heroku ps:scale process_name=dyno_count -a app_name
要获得DYNOS列表供应
heroku ps -a app_name
有没有办法,因为我监视New Relic的数字做手工? – Javier
我现在宁愿不将它自动化。也许下线,但在这一点上,我只是想手动控制。 – Javier
通过回答更新,包括手动步骤。 – avinoth