【Heroku】Advanced SchedulerでメンテナンスモードをON/OFFする
はじめに
HerokuのDynoのメンテナンスモードをスケジューラーからON/OFFしたいなと思って、さっそくAddonのAdvanced Schedulerを試したが、Heroku Schedulerと同様に、これで起動するOne-off Dynoにも、やはりHeroku CLIが入ってないので、昔試したやり方を備忘録として残すことにした。
実行方式
Advanced Schedulerの中味は、One-off Dynoを起動して登録コマンドを実行するが、Heroku CLIは使えないので、HTTPS経由でHerokuのPlatform APIを使って操作することにする。
予め用意するもの
Platform APIを動かすためには、それを誰が動作させるのかを示す鍵が必要である。以下のコマンドでHerokuアカウントのAuthキーをスケジューラー用に新規作成しておく。
$ heroku authorizations:create
App Update
メンテナンスモードをON/OFFするため、Platform APIのApp Updateを利用する。以下のコマンドを実行してひとまずローカルの端末から動くか確認する。bodyのmaintenanceのvalueがtrueでメンテナンスON、falseでメンテナンスOFFになるので適宜変更。
$ curl -X PATCH https://api.heroku.com/apps/{ココにアプリケーション名} \
-d '{"maintenance": false}' \
-H "Content-Type: application/json" \
-H "Accept: application/vnd.heroku+json; version=3" \
-H "Authorization: Bearer {ココに予め作成しておいたAuthキー}"
Triggerを設定する
ここまできたらあとは確認が取れたCURLのコマンドをAdvanced SchedulerのTriggerにセットすればOK。
その他
Authキーは、自分自身のHerokuアカウントより作られたものであるため、アプリケーションから権限を剥奪されて自分のアカウントから見えなくなったアプリケーションを操作することはできないので、引き継ぎの際には注意しておく。
Author And Source
この問題について(【Heroku】Advanced SchedulerでメンテナンスモードをON/OFFする), 我々は、より多くの情報をここで見つけました https://qiita.com/BuminTwit/items/632d995188f78aa1360f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .