エンジニアブログ

エンジニアブログ
Movable Type プラグイン

FastCGIでプラグイン設定変更時にApache再起動が不要になるMovable Typeプラグイン:ValidateWithoutRestart

174436_100002191918053_3698151_n.jpg 井内 2012年05月10日

2012/05/18:
・プラグインディレクトリ(plugins)の内容を変更した場合にも、ウェブサーバー再起動が不要なバージョン1.10を公開しました。
・機能の詳細はこちらをご覧下さい。ダウンロードはこちらから行ってください。


FastCGIでMovable Typeを動作させている場合、プラグインの有効/無効の切り替えを行ってもApacheなどのウェブサーバーを再起動するまで、その動作が反映されません。

ブログ記事を書く時は良いのですが、MTCMSやMovable Typeプラグインの開発時は非常に面倒でしたので、プラグインの有効/無効を即時反映するプラグインを作成してみました。


ValidateWithoutRestartプラグイン設定画面.png


Movable Typeはシステムの「全般設定」を変更した日時をデータベースに記録しています(mt_touchテーブル)。MTがFastCGIで動作している場合、

(システムの「全般設定」の変更日時) > (FastCGIプロセスを起動した日時)

となった時にFastCGIプロセスを終了する仕組みがあります。


ValidateWithoutRestartプラグインではこの仕組みを利用しておりまして、プラグインの有効/無効を変更した場合にシステムの「全般設定」変更日時を更新して、古いFastCGIプロセスを終了するようにしています。


プラグイン開発用途で作成しましたが、プラグイン導入検討時にもお使い頂けると思います。フィードバックお待ちしております!


機能追加(バージョン1.10, 2012/05/18)

プラグインディレクトリ(plugins)の内容を変更した場合にも、FastCGIプロセスを終了するように変更して、
ウェブサーバーの再起動を不要に致しました。

※環境変数TEMP_DIRで指定するディレクトリに「check_plugins_modified」という一時ファイルを作成します。
fincfindコマンド、wcコマンドが使える必要があります。(FastCGIが使える環境には、おそらく入っています)


<ウェブサーバーの再起動が不要かどうか>

バージョンプラグインの有効/無効切り替えプラグインディレクトリ内の内容変更
1.10◯(不要)◯(不要)
1.00◯(不要)×(必要)
プラグイン無し×(必要)×(必要)


ダウンロード

  • ValidateWithoutRestart1_10.zip
    • 2012/05/18公開
    • プラグイン設定の有効/無効切り替えと、プラグインディレクトリの内容を変更した場合に、ウェブサーバー再起動が不要になります。
    • Movable Type 5.13で動作確認しています
  • ValidateWithoutRestart1_00.zip
    • 2012/05/10公開
    • プラグイン設定の有効/無効切り替えの場合のみ、ウェブサーバー再起動が不要になります。
    • Movable Type 5.13で動作確認しています

インストール

  • ダウンロードしたzipファイルを解凍して得られるValidateWithoutRestartディレクトリを、pluginsディレクトリにコピーして下さい。設定項目などはありません。

注意事項

  • ValidateWithoutRestartプラグインを無効にすると、ウェブサーバーの再起動が必要になります。
  • Movable Type 5.13 でのみ動作確認しております。他のバージョンでの動作報告など頂けますと幸いです。

その他

  • このプラグインはブログウェアです。どなたでも無償でご利用頂けますが、感想、要望などをあなたのブログで記事として紹介頂けると幸いです。
  • 本プラグインをご利用される方は必ずプラグインご利用の際の注意事項をお読みください。