Merge "Don't check namespace in SpecialWantedtemplates"
[lhc/web/wiklou.git] / includes / jobqueue / JobQueue.php
index 1a68489..69a3def 100644 (file)
@@ -94,7 +94,7 @@ abstract class JobQueue {
         *                  This might be useful for improving concurrency for job acquisition.
         *   - claimTTL   : If supported, the queue will recycle jobs that have been popped
         *                  but not acknowledged as completed after this many seconds. Recycling
-        *                  of jobs simple means re-inserting them into the queue. Jobs can be
+        *                  of jobs simply means re-inserting them into the queue. Jobs can be
         *                  attempted up to three times before being discarded.
         *
         * Queue classes should throw an exception if they do not support the options given.
@@ -323,6 +323,12 @@ abstract class JobQueue {
 
                $this->doBatchPush( $jobs, $flags );
                $this->aggr->notifyQueueNonEmpty( $this->wiki, $this->type );
+
+               foreach ( $jobs as $job ) {
+                       if ( $job->isRootJob() ) {
+                               $this->deduplicateRootJob( $job );
+                       }
+               }
        }
 
        /**
@@ -359,7 +365,7 @@ abstract class JobQueue {
                // Flag this job as an old duplicate based on its "root" job...
                try {
                        if ( $job && $this->isRootJobOldDuplicate( $job ) ) {
-                               JobQueue::incrStats( 'job-pop-duplicate', $this->type );
+                               JobQueue::incrStats( 'dupe_pops', $this->type );
                                $job = DuplicateJob::newFromJob( $job ); // convert to a no-op
                        }
                } catch ( Exception $e ) {
@@ -631,7 +637,6 @@ abstract class JobQueue {
         * @since 1.22
         */
        final public function getSiblingQueuesWithJobs( array $types ) {
-
                return $this->doGetSiblingQueuesWithJobs( $types );
        }
 
@@ -655,7 +660,6 @@ abstract class JobQueue {
         * @since 1.22
         */
        final public function getSiblingQueueSizes( array $types ) {
-
                return $this->doGetSiblingQueueSizes( $types );
        }
 
@@ -677,8 +681,12 @@ abstract class JobQueue {
         * @since 1.22
         */
        public static function incrStats( $key, $type, $delta = 1 ) {
-               wfIncrStats( $key, $delta );
-               wfIncrStats( "{$key}-{$type}", $delta );
+               static $stats;
+               if ( !$stats ) {
+                       $stats = RequestContext::getMain()->getStats();
+               }
+               $stats->updateCount( "jobqueue.{$key}.all", $delta );
+               $stats->updateCount( "jobqueue.{$key}.{$type}", $delta );
        }
 
        /**