Manual:Job queue/ja

From MediaWiki.org
< Manual:Job queue
Jump to: navigation, search

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

$wgJobRunRate = 0.01;

また、$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

Contents

ジョブキューを設けた理由 [edit]

テンプレートの改訂にともなうリンクの表の更新 [edit]

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

HTMLキャッシュの無効化 [edit]

大量のページに相当する既存のHTMLキャッシュを一気に無効にしてしまう操作は、〔テンプレートの改訂だけでなく〕より幅広い種類にわたります:

  • 画像の改訂(すべてのサムネイルを作り直し、大きさも再計算する必要があります)
  • ページの削除(すべてのリンク元でのリンクの色を、青から赤にする必要があります)
  • ページの作成、または復帰〔被削除物の回復。undelete。復活とも〕(上記同様ですが、反対に赤から青にします)
  • テンプレートの改訂(テンプレートの貼り込まれたページ〔のキャッシュ〕をすべて更新する必要があります)

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

特徴的な値 [edit]

低負荷の期間に、ジョブキューはゼロであるかもしれません。Wikimedia でのジョブキューは、実際ほとんどゼロではありません。 混雑していない時間帯では数百から千であるかもしれません。混雑している日の間では、それは数百万でもあり、10%以上素早く上下します。[1] MediaWiki 1.16 まで、ジョブキューの長さは Special:Statistics に表示されました。; 1.17 (rev:75272) からそれは取り除かれて API:Meta#siteinfo / si で確認することができます。

関連項目 [edit]

言語: English  • Deutsch • français • 日本語 • polski • Tiếng Việt