TopMovable Typeプラグイン再構築 > 2012年11月
2012年11月27日

Movable Typeの再構築で500エラーにならない「ErrorlessRebuildプラグイン」

Movable Typeの再構築で500エラーにならない「ErrorlessRebuildプラグイン」を公開します。

1.はじめに

Movable Type再構築時の500エラーはサーバのスペックに依存するため、MTの再構築の設定を変更して500エラーに遭遇する確立を減らすことは可能ですが、根本的な解決に至ることは困難です。

そこで「500エラーが発生しても再構築を継続できないか?」という、これまでと異なるアプローチで開発したのがこの「ErrorlessRebuildプラグイン」です。

ちょっと大げさかもしれませんが、再構築の500エラー問題はこのプラグインで解決できるかもしれません。

2.プラグインの概略

ErrorlessRebuildプラグインの仕組みは至って簡単で、従来の再構築がMTのアプリケーション(Perl)だけで制御していたものを、クライアント(ブラウザ)からAjaxを利用して1ファイルずつ再構築を制御するようにしました。

これにより、あるファイルの再構築で500エラーが発生しても、エラーをハンドリングして同じファイルの再構築をリトライできるようにしています。

1ファイルずつ再構築を行うため、1ファイルあたりの再構築時のMTアプリケーションのコストは大きくなるかもしれませんが、途中で500エラーが発生しても最後まで再構築を行えるようになります。

また、連続して再構築を実行することでサーバへの負荷が大きくなり、500エラーを誘発するおそれがあるので、これを避けるために再構築の実行間隔をmsで設定できるようにしました。

たとえば再構築するときに「3000ms」という実行間隔を設定しておけば、1つのファイルの再構築が完了してから3秒後に次の再構築を実施します。その間サーバには負荷がかかりません。

プラグインの名称は「500エラーで再構築が中断しない」という意味で命名しました。

3.ダウンロード

以下の配布ページから購入および評価版をダウンロードできます。

ErrorlessRebuildプラグイン
ErrorlessRebuildプラグイン

4.インストール

ダウンロードアーカイブを展開し、pluginsフォルダにある「ErrorlessRebuild」フォルダをMovable Typeのpluginsディレクトリに、mt-static/pluginsフォルダにある「ErrorlessRebuild」フォルダをMovable Typeのmt-static/pluginsディレクトリにアップロードします。

アップロード後、システム管理画面の「ツール」→「プラグイン」で「ErrorlessRebuild」が表示されればインストール完了です。

ErrorlessRebuildプラグイン

インストール後、FTPツールを利用し、「plugins/ErrorlessRebuild/mt-rebuild.cgi」の属性を、「775」や「705」など、実行権のあるパーミッションに変更してください。この変更を行わないと再構築実行時に500エラーのメッセージが発生します。

5.再構築

ブログ管理画面のナビゲーションに再構築アイコンがもうひとつ表示されるのでクリックします。

ナビゲーション

これでプラグインが提供する再構築画面を表示します。実行間隔はこの画面で設定します。

ErrorlessRebuildプラグイン

再構築中はプログレスバーおよび、再構築中のファイルおよび各アーカイブの進捗を表示します。

ErrorlessRebuildプラグイン

以上です。

当方の都合で無償あるいは安価での提供はできませんが、再構築時の500エラーがどうしても解消できない場合のソリューションとしてご検討頂ければ幸いです。

Comments [0] | Trackbacks [0]
Now loading...
ギターに入った猫
掲載広告募集
Styles
Font Size
Default
For defective color vision
Gray Scale
RGB Color
Search this site

このブログをメールで購読する by:FeedBurner

AMN
Categories
Monthly Archives
2020年
2019年
2018年
2017年
2016年
2015年
2014年
2013年
2012年
2011年
2010年
2009年
2008年
2007年
2006年
2005年
2004年
2003年
BlogPeople
Syndicate this site
FeedBurner(RSS1.0/RSS2.0/Atom)
Counter
これまでのアクセス
Powered by
Movable Type 6.0.3