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

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

Posted at November 27,2012 1:55 AM
Tag:[ErrorlessRebuild, MovableType, Plugin]

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エラーがどうしても解消できない場合のソリューションとしてご検討頂ければ幸いです。

関連記事
zenback
人気エントリー
トラックバックURL


コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)