-
Notifications
You must be signed in to change notification settings - Fork 9
Maintenance mode
もし、大きなマイグレーションを伴うデプロイをしていたり、一定時間の間アプリケーションに対するアクセスを不可にする必要がある場合、メンテナンスモードでのHerokuのビルドを利用することができます。これは、あなたにOne-off Dynoの実行を許可しながらも、全ての訪問者に対して静的なページを表示させることができます。
以下のように有効化します :
:::term
$ heroku maintenance:on
Enabling maintenance mode for myapp... done
アプリケーションの準備が一度整ったならば、メンテナンスモードを以下のように無効化することができます :
:::term
$ heroku maintenance:off
Disabling maintenance mode for myapp... done
また、いつでもアプリケーションのメンテナンスステータスを確認することができます :
:::term
$ heroku maintenance
off
また、エラーページを使って、メンテナンスモードに入るときに表示する自分のコンテンツを作る事が出来ます。
使うためには、MAINTENANCE_PAGE_URL
を設定してください :
:::term
$ heroku config:set MAINTENANCE_PAGE_URL=http://s3.amazonaws.com/your_bucket/your_maintenance_page.html
完全な詳細はエラーページのドキュメントを確認してください。
メンテナンスモードの有効化、または無効化は、通常Dynoの実行を変えることはありません。Web Dynoはその前の状態同様動き続けますが、ルータによってリクエストがブロックされることによってHTTPリクエストを受信しなくなります。Worker Dynoなどの別のタイプのDynoもまた、動き続けます。
いくらかの場合、メンテナンスモードが有効の時にDynoの数を減らしたいと思うかもしれません。例えば、マイグレーション中にバックグラウンドのプロセスが動いていないことが必要なデータベースのマイグレーションを実行している場合などです。heroku scale
を使ってDynoの数を減らす事が出来ます :
:::term
$ heroku maintenance:on
Enabling maintenance mode for myapp... done
$ heroku scale worker=0
Scaling worker processes... done, now running 0
もし、メンテナンスモードを有効化した後にDynoの数を減らす場合、アプリケーションに対するトラフィックを戻す前に、Dynoの数を元に戻すのを忘れないでください。
heroku run
を使って、メンテナンスモードが有効な間でも普通にOne-off Dynoを実行することができます。