page_adsence

2011年11月16日水曜日

symfonyでメンテナンス画面に簡単に切り替える方法

symfonyを使っている案件でDBメンテが入るため、サービス停止をしないといけない状況になった。
なんとか簡単にメンテナンス画面を出せないかと思っていたら、ありましたよ。
ググったら一発で出てきました。

ものすごく簡単にできました。
まず、メンテナンス中に表示するHTMLの用意をします。
用意する場所は以下の通り。

$ vi config/unavailable.php

この「unavailable.php」にメンテナンス中に表示させるHTMLを記載する。

次にsetting.ymlを編集します。

$ vi apps/アプリケーション名/config/settings.yml
all:
  .settings:
    check_lock: true

各環境で分けたい場合はprod、test、devのそれぞれの場所に書いてください。
で、念のためsymfony ccします。

以上で準備は完了です。

実際にメンテナンス画面にする方法は以下の通り

例)prod環境をメンテナンス中にする方法
$ ./symfony project:disable prod

例)dev環境をメンテナンス中にする方法
$ ./symfony project:disable dev

たったこれだけでメンテナンス画面に切り替えることが出来ます。
すばらしいですね。
ものすごい楽です。

メンテナンスを解除する場合
例)prod環境のメンテナンスを解除する方法
$ ./symfony project:enable prod

例)dev環境のメンテナンスを解除する方法
$ ./symfony project:enable dev

解除もこの通りです。
最高です。