PlatformAPI を使うと、Rails から Heroku をAPIで制御できる。
簡単なことだが、platform-api の dyno と formation で混乱したのでメモ。
heroku = PlatformAPI.connect_oauth(ENV['HEROKU_OAUTH_TOKEN'])
heroku.formation.update('my-app', 'worker', {quantity: num})
Dyno ではない
heroku の dyno を操作するのかと思って、エラーに対して auth を調べていたが、関係なかった。
heroku.dyno.stop('my-app', dyno_id)
起動数を設定
{quantity: num}
の num には、起動数をいれる。
1つで起動する場合は
heroku.formation.update('my-app', 'worker', {quantity: 1})
停止の場合は
heroku.formation.update('my-app', 'worker', {quantity: 0})
PlatformAPI
Heroku Dev Center
https://devcenter.heroku.com/articles/platform-api-quickstart
Ruby HTTP client for the Heroku API
https://github.com/heroku/platform-api