Made $wgMaxBacklinksInvalidate actually work.
[lhc/web/wiklou.git] / includes / job / jobs / HTMLCacheUpdateJob.php
index 20245b3..d4a2024 100644 (file)
@@ -52,7 +52,7 @@ class HTMLCacheUpdateJob extends Job {
        /**
         * Construct a job
         * @param $title Title: the title linked to
-        * @param $params Array: job parameters (table, start and end page_ids)
+        * @param array $params job parameters (table, start and end page_ids)
         * @param $id Integer: job id
         */
        function __construct( $title, $params, $id = 0 ) {
@@ -60,9 +60,9 @@ class HTMLCacheUpdateJob extends Job {
 
                parent::__construct( 'htmlCacheUpdate', $title, $params, $id );
 
-               $this->rowsPerJob   = $wgUpdateRowsPerJob;
+               $this->rowsPerJob = $wgUpdateRowsPerJob;
                $this->rowsPerQuery = $wgUpdateRowsPerQuery;
-               $this->blCache      = $title->getBacklinkCache();
+               $this->blCache = $title->getBacklinkCache();
        }
 
        public function run() {
@@ -79,8 +79,15 @@ class HTMLCacheUpdateJob extends Job {
         * Update all of the backlinks
         */
        protected function doFullUpdate() {
+               global $wgMaxBacklinksInvalidate;
+
                # Get an estimate of the number of rows from the BacklinkCache
                $numRows = $this->blCache->getNumLinks( $this->params['table'] );
+               if ( $wgMaxBacklinksInvalidate !== false && $numRows > $wgMaxBacklinksInvalidate ) {
+                       wfDebug( "Skipped HTML cache invalidation of {$this->title->getPrefixedText()}." );
+                       return true;
+               }
+
                if ( $numRows > $this->rowsPerJob * 2 ) {
                        # Do fast cached partition
                        $this->insertPartitionJobs();
@@ -96,6 +103,7 @@ class HTMLCacheUpdateJob extends Job {
                                $this->invalidateTitles( $titleArray ); // just do the query
                        }
                }
+
                return true;
        }
 
@@ -124,7 +132,7 @@ class HTMLCacheUpdateJob extends Job {
         *
         * @param $titleArray array
         * @param $rootJobParams array
-        * @rerturn void
+        * @return void
         */
        protected function insertJobsFromTitles( $titleArray, $rootJobParams = array() ) {
                // Carry over any "root job" information