Movable Type 備忘録

 

 RebuildQueue プラグイン

こんにちわ^^

今、せっせと MovableType 4 で動作するプラグインの確認してます (; ̄∇ ̄A
面倒くさがりのわたしには苦痛の作業です (´Д`;) なので、チョビッと確認しては遊んで・・・の繰り返しです♪

とりえあず、確認したプラグインはこちらのMovableType 4 beta5 レビューで一覧にしてます。
わたしのサイトで「使えないと困る」順で確認してます (; ̄∇ ̄A はは

さて、今回ご紹介するのは久しぶりに MovableType のプラグインです。
以前から使ってたものですが、RebuildQueue というプラグインが Six Apart Plugin Repository に公開されていたので使っていたものです。

どんなプラグインかというと、通常では新規エントリを公開するときに再構築されますね。
このとき、データベースへ保存して、関連するアーカイブ(前後のエントリ・ページとか、カテゴリ・ページなど)とか、インデックス・テンプレートなども再構築されて、最後に ping サーバへ送信・・・という手順を踏みますね。

これらの作業はとっても時間かかりますよね。
そこで RebuildQueue プラグインをインストールすることで、新規エントリ投稿時はデータベースへの保存のみで、後から TELNET( or SSH)から再構築したり、cron を使ったりして再構築させることができるようになります。

要するに作業を分割することができるプラグインです。
という内容のことを、Ogawa::Memoranda さんのところ(RebuildQueue二題)でもっと技術的なことを説明されてます。また、この RebuildQueue プラグインは MovableType 4 に対応してないということでしたが、対応したプラグインも公開されてましたので、さっそく更新してみました。

ディレクトリ構成

http://●●●.com/mt/
  +-- mt-static/
  |     +-- plugins/
  |     |     +-- RebuildQueue/
  |     |     |     +-- rebuildq.gif
  |
  +-- plugins/
  |     +-- RebuildQueue/
  |     |     +-- lib/
  |     |     |     +-- RebuildQueue/
  |     |     |     |     +-- Daemon.pm
  |     |     |     |     +-- File.pm
  |     |     |     |     +-- Plugin.pm
  |     |     |     |     +-- Publisher.pm
  |     |     |     |     +-- PublisherV4.pm
  |     |     |
  |     |     +-- tmpl/
  |     |     |     +-- queue_list.tmpl
  |     |     |     +-- queue_table.tmpl
  |     |
  |     +-- RebuildQueue.pl
  |     +-- RebuildQueue-List.pl
  |     +-- restart_rebuild_queue.sh

RebuildQueue プラグインの使い方

このサイトで使ってる 'さくらインターネット' では幸い cron が使用可能ですが、ここでは cron が使えない環境の場合のご紹介をします。
てか、わたしもエントリ投稿のために cron は使ってませんけど (; ̄∇ ̄A

  1. まず RebuildQueue プラグインをインストールします。
    RebuildQueue MT4 を入手してください。
    そして、上記ディレクトリ構成のようにアップロードします。

  2. 次に RebuildQueue プラグインの設定を行います。
    MovableType の管理画面から RebuildQueue による再構築を行いたいブログのプラグイン一覧を表示してください。
    システム・メニューにあるプラグイン一覧ではないのでご注意ください。

    そして、右横にある「設定を表示」をクリックします。
    現在わたしが設定している内容を以下に記します。

    • 「Check to allow this weblog to be rebuilt using the Rebuild Queue.」
      チェックします。今まで通りにエントリ投稿時に再構築したい場合にはここのチェックを外します。

    • 「Uncheck to push all pages to Rebuild Queue, regardless of context. If Checked, manual rebuilds will circumvent the RebuildQueue.」
      チェックします。

    設定したら「変更を保存」をクリックして保存してください。

  3. 次にわたしが使ってる、以下のスクリプトをコピペしてファイル(たとえば、mt-rebuildq.php)に保存します。

    <?php
    if (!isset($_REQUEST['任意のキーワード'])) return;
    
    echo '<pre>';
    $cmd       = './plugins/RebuildQueue/RebuildQueue.pl';
    $last_line = system($cmd, $retval);
    echo '</pre><hr />Last line of the output: ' . $last_line . '<hr />Return value: ' . $retval;
    ?>
    
    

    青い字の部分をお好きなキーワードに変更してください。
    たとえば、'bzbell' などでも構いません。

    そしてサーバにアップロードします。 アップロード先は mt.cgi と同じ場所にアップロードします。
    他の場所でも問題ありませんが、その時は先ほどのスクリプトの 6行目の パスを変更します。

    また、各自の環境に合わせてパーミッション(たとえば、705)も変更します。

  4. 最後に動作確認します。
    ブラウザからアップロードした mt-rebuildq.php を以下のように実行してみてください。

    http://●●●/mt/mt-rebuildq.php?任意のキーワード=1
    
    

    赤い字の部分は先ほど変更した任意のキーワードを指定します。
    エラーらしきメッセージが表示されてないようでしたら問題ないかと思います。

以上で完了です。
MovableTypeの管理画面から再構築するより、RebuildQueue プラグインによる再構築の方が格段に早いので試してみてくださいな ( ̄∇ ̄)/

あと、Ogawa::Memoranda さんのところで、上記スクリプトを使わなくても、自動的に RequildQueue を実行する、RebuildQueueRunner プラグインが紹介されてます。
わたしはまだ試してませんが、スクリプト実行という手間!? が省けるのでよろしいかと。

 Trackback Pings(0)

No trackbacks found.

 Comments(0)

No comments found.

 Post a Comment

コメント用フィード