Manual:Job queue/ja

MediaWiki 1.6ではジョブキューが1列取り入れられ、長い処理を非同期的に実行できるようになった. このジョブキューは、短い処理項目（ジョブ、job）を多数蓄えるように設計されている. ジョブキューの長さを知るには、1.6を使うウィキであれば、例外もあるが Special:Statistics まで見に行けばよい. 初期設定では、〔HTTP上の？〕要求に1件対処するついでに、ジョブキューから処理項目を1件取り出し、実行する. もし、それではパフォーマンスへの負担が大きすぎるという場合は、LocalSettings.phpに以下のように記入し、$wgJobRunRate 〔要求あたりに処理する件数〕を絞り込むこともできる：

また、$wgJobRunRateを0に設定した後に、コマンドラインからmaintenance/runJobs.php を走らせることでジョブキューをさばくことができる. 例えば以下のようにする.

0 0 * * * /usr/bin/php /var/www/wiki/maintenance/runJobs.php 2>&1 > /var/log/runJobs.log

他のケースとして、中央のテンプレートを改訂した後にジョブが大量にある場合は、以下のコマンドを実行することによってジョブキューを空にすることができる.

cd /var/www/w php ./maintenance/runJobs.php --conf ./LocalSettings.php

テンプレートの改訂にともなうリンクの表の更新
MediaWiki 1.6は、その〔改訂された〕テンプレートを適用している個々のページに1件ずつ処理項目を対応させ、ジョブキューに投入していく. 各処理項目の内容は、ページを読み通し、あらゆるテンプレートを展開しなおし、それに従って〔データベースの一部である〕リンクの表を更新することである. したがって、時には処理が長大となり完了までにしばらくかかることがあるが、〔強制的に更新させるための〕空の編集操作はもう不要となる. これは、大変な手作業の負担を緩和することに繋がるものである.

HTMLキャッシュの無効化
大量のページに相当する既存のHTMLキャッシュを一気に無効にしてしまう操作は、〔テンプレートの改訂だけでなく〕より幅広い種類にわたる：
 * 画像の改訂（すべてのサムネイルを作り直し、大きさも再計算する必要がある）
 * ページの削除（すべてのリンク元でのリンクの色を、青から赤にする必要がある）
 * ページの作成、または復帰〔被削除物の回復. undelete. 復活とも〕（上記同様だが、反対に赤から青にする）
 * テンプレートの改訂（テンプレートの貼り込まれたページ〔のキャッシュ〕をすべて更新する必要がある）

テンプレートの改訂を除くこれらの操作の結果、リンクの表〔の内容〕が無効になることはないが、一方で、当該ページのリンク元の、あるいは当該画像の使用先の、すべてのページのHTMLキャッシュが無効になる. 1ページ分のキャッシュを無効にする処理はごく短く、必要なのはデータベースのフィールドを1件更新し、マルチキャストのパケットを1つ発してキャッシュを消すことだけである. しかしそれが1000件以上もある場合には、かなり時間がかかる. 初期設定では、500ページ分以上を無効化する必要のある場合のみ、500ページあたり1件の処理項目が〔ジョブキューに〕発生する.