Manual:Job queue/ja

MediaWiki 1.6から、ジョブキューが機能追加され、長い時間かかるタスクを非同期で実行できるようになった. ジョブキューは多くの小さなタスクを保持するためにデザインされた. ほとんどの 1.6 wiki上でアクセス統計を見ることによってジョブキューの長さを見ることが出来る. 既定値では、各々の時間は要求が実行されたとき、あるジョブがジョブキューから取られて実行されたときである. もしもパフォーマンスに対して付加が大きすぎる場合、以下のようにLocalSettings.phpに何らかの値を$wgJobRunRateに記述することによって減少できる:


 * $wgJobRunRate = 0.01;

maintenance/runJobs.php を実行することによってコマンド行からジョブキューを実行できる.

テンプレートの変更の時リンクテーブルを更新する
MediaWiki 1.6 ではテンプレートを使う各々の記事のためのジョブキューのためのジョブを追加している. 各々のジョブは記事を読み、任意のテンプレートを展開し、適した形にリンクテーブルを追加するコマンドである. そのため、完了するまでに大きな操作を行なうもののために多くを費やしたとしても、無編集操作はもはや必要でない. これは実際の人の負担を軽減することの手助けが出来る.

HTMLキャッシュの無効化
幅広い操作は、沢山のページのためにHTMLキャッシュの無効化が結果として生じる:


 * 画像の変更(全てのサムネイルは再度描画しなければならず、それらの大きさは再計算される)
 * ページの削除(他のページからそこへの全てのリンクは青から赤に変更しなければならない)
 * Deleting a page (all the links to it from other pages need to change from blue to red)
 * Creating or undeleting a page (like above, but from red to blue)
 * Changing a template (all the pages that transclude the template need updating)

Except for template changes, these operations do not invalidate the links tables, but they do invalidate the HTML cache of all pages linking to that page, or using that image. Invalidating the cache of a page is a short operation, it only requires updating a single database field and sending a multicast packet to clear the caches. But if there are more than about 1000 to do, it takes a long time. By default, jobs are added when more than 500 pages need to be invalidated, one job per 500 operations.