Heroku 有一个platform-api gem,在这种情况下对你很有用。首先将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
现在,到缩放部分。我猜你有一些内部指标来决定何时扩展(通过进程计数、请求计数等)。下面的命令将扩大您需要的测功机数量,
$heroku.formation.update(APP_NAME, PROCESS_NAME, {quantity: DYNO_COUNT})
这将在需要时将应用程序的指定进程扩展到 X 数量的测功机。
您可以使用相同的命令来缩减您的测功机数量。此外,以下命令将帮助您获取当前为特定进程配置的测功机数量
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
获取配置的测功机列表
heroku ps -a app_name