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.ダウンロード
以下の配布ページから購入および評価版をダウンロードできます。
4.インストール
ダウンロードアーカイブを展開し、pluginsフォルダにある「ErrorlessRebuild」フォルダをMovable Typeのpluginsディレクトリに、mt-static/pluginsフォルダにある「ErrorlessRebuild」フォルダをMovable Typeのmt-static/pluginsディレクトリにアップロードします。
アップロード後、システム管理画面の「ツール」→「プラグイン」で「ErrorlessRebuild」が表示されればインストール完了です。
インストール後、FTPツールを利用し、「plugins/ErrorlessRebuild/mt-rebuild.cgi」の属性を、「775」や「705」など、実行権のあるパーミッションに変更してください。この変更を行わないと再構築実行時に500エラーのメッセージが発生します。
5.再構築
ブログ管理画面のナビゲーションに再構築アイコンがもうひとつ表示されるのでクリックします。
これでプラグインが提供する再構築画面を表示します。実行間隔はこの画面で設定します。
再構築中はプログレスバーおよび、再構築中のファイルおよび各アーカイブの進捗を表示します。
以上です。
当方の都合で無償あるいは安価での提供はできませんが、再構築時の500エラーがどうしても解消できない場合のソリューションとしてご検討頂ければ幸いです。
- Movable Typeの再構築順序を指定できる「RebuildOrderChangerプラグイン」
- Movable Typeでブログ記事のないカテゴリアーカイブページを出力しない「CategoryArchiveCleanerプラグイン」
- Movable Typeのブログ記事から削除したカテゴリのアーカイブページを再構築する「DeleteCategoryRebuilderプラグイン」
- Movable Typeでウィジェットセット更新時にインデックステンプレートを再構築する「RebuildByChangeWidgetプラグイン」
- Movable Typeでアイテム更新時に関連記事を再構築する「RebuildByUpdateAssetプラグイン」
- ブログ記事保存時に別のブログ記事を再構築する「RebuildEntryByIdプラグイン」