From: Aaron Schulz Date: Thu, 19 Dec 2013 21:03:18 +0000 (-0800) Subject: Removed isQueueDeprioritized() X-Git-Tag: 1.31.0-rc.0~17564^2 X-Git-Url: http://git.cyclocoop.org/%24action?a=commitdiff_plain;h=d4ae43bb9fc535956b10c3ac2545e8aff1cf106d;p=lhc%2Fweb%2Fwiklou.git Removed isQueueDeprioritized() * This was just a hack for one job type that is not needed anymore as no new refreshLinks2 jobs are inserted Change-Id: I533f1edbd6b6e67f57ce32a9113da3eec420dd08 --- diff --git a/includes/job/JobQueueGroup.php b/includes/job/JobQueueGroup.php index 4f11bbf7fa..17b5c99688 100644 --- a/includes/job/JobQueueGroup.php +++ b/includes/job/JobQueueGroup.php @@ -155,9 +155,6 @@ class JobQueueGroup { */ public function pop( $qtype = self::TYPE_DEFAULT, $flags = 0 ) { if ( is_string( $qtype ) ) { // specific job type - if ( ( $flags & self::USE_PRIORITY ) && $this->isQueueDeprioritized( $qtype ) ) { - return false; // back off - } $job = $this->get( $qtype )->pop(); if ( !$job ) { JobQueueAggregator::singleton()->notifyQueueEmpty( $this->wiki, $qtype ); @@ -180,9 +177,6 @@ class JobQueueGroup { shuffle( $types ); // avoid starvation foreach ( $types as $type ) { // for each queue... - if ( ( $flags & self::USE_PRIORITY ) && $this->isQueueDeprioritized( $type ) ) { - continue; // back off - } $job = $this->get( $type )->pop(); if ( $job ) { // found return $job; @@ -330,32 +324,6 @@ class JobQueueGroup { return $this->coalescedQueues; } - /** - * Check if jobs should not be popped of a queue right now. - * This is only used for performance, such as to avoid spamming - * the queue with many sub-jobs before they actually get run. - * - * @param string $type - * @return bool - */ - public function isQueueDeprioritized( $type ) { - if ( $this->cache->has( 'isDeprioritized', $type, 5 ) ) { - return $this->cache->get( 'isDeprioritized', $type ); - } - if ( $type === 'refreshLinks2' ) { - // Don't keep converting refreshLinksPartition => refreshLinks jobs if the - // later jobs have not been done yet. This helps throttle queue spam. - // @TODO: this is mostly a WMF-specific hack and should be removed when - // refreshLinks2 jobs are drained. - $deprioritized = $this->get( 'refreshLinks' )->getSize() > 10000; - $this->cache->set( 'isDeprioritized', $type, $deprioritized ); - - return $deprioritized; - } - - return false; - } - /** * Execute any due periodic queue maintenance tasks for all queues. * diff --git a/maintenance/nextJobDB.php b/maintenance/nextJobDB.php index 06ccccbb0f..9b4d194385 100644 --- a/maintenance/nextJobDB.php +++ b/maintenance/nextJobDB.php @@ -78,10 +78,6 @@ class NextJobDB extends Maintenance { } list( $type, $db ) = $candidates[mt_rand( 0, count( $candidates ) - 1 )]; - if ( JobQueueGroup::singleton( $db )->isQueueDeprioritized( $type ) ) { - $pendingDBs[$type] = array_diff( $pendingDBs[$type], array( $db ) ); - $again = true; - } } while ( $again ); if ( $this->hasOption( 'types' ) ) {