RefreshLinksJob performance tweaks.
authorAaron Schulz <aschulz@wikimedia.org>
Thu, 2 Aug 2012 04:19:00 +0000 (21:19 -0700)
committerGerrit Code Review <gerrit@wikimedia.org>
Tue, 7 Aug 2012 00:35:38 +0000 (00:35 +0000)
commit76b3629ce8a381713c5cb02ef970b9ff5dcd6b74
treeaec02b06b67feed1c51d96bd886785bd43380abd
parent0a5c71d4dd6405502b1d1d0a02b5d0927d519986
RefreshLinksJob performance tweaks.

* Made refreshLinksJob2 always spawn smaller jobs. This can reduce
  the problem of all runners doing the same refresh jobs by increasing the
  granularity of the work to single pages parses per job.
* Avoid master queries when fetching the latest revision for refresh links jobs.
  Also avoid the master for template fetching on parse. A LoadBalancer waitFor()
  call is used instead. The main reason for hitting the master to fetch templates
  was this job itself.
* Fixed bug in refreshLinksJob2 where one missing page would cause all the
  remaining updates for pages to be aborted.
* Factored out some code duplication between the two refresh links job classes.

Change-Id: Ieca51567a888f50a6f15b6c2606323da80d6584b
includes/job/RefreshLinksJob.php
includes/parser/Parser.php