Use an actual URL for helppage in enotif_body
[lhc/web/wiklou.git] / maintenance / runJobs.php
index 13f526c..f69a3a3 100644 (file)
@@ -43,6 +43,7 @@ class RunJobs extends Maintenance {
                if ( $this->hasOption( 'memory-limit' ) ) {
                        return parent::memoryLimit();
                }
+
                // Don't eat all memory on the machine if we get a bad job.
                return "150M";
        }
@@ -79,7 +80,9 @@ class RunJobs extends Maintenance {
 
                $backoffs = $this->loadBackoffs(); // map of (type => UNIX expiry)
                $startingBackoffs = $backoffs; // avoid unnecessary writes
-               $backoffExpireFunc = function( $t ) { return $t > time(); };
+               $backoffExpireFunc = function ( $t ) {
+                       return $t > time();
+               };
 
                $jobsRun = 0; // counter
                $flags = JobQueueGroup::USE_CACHE;
@@ -99,7 +102,7 @@ class RunJobs extends Maintenance {
                                $this->runJobsLog( $job->toString() . " STARTING" );
 
                                // Set timer to stop the job if too much CPU time is used
-                               set_time_limit( $maxTime ?: 0 );
+                               set_time_limit( $maxTime ? : 0 );
                                // Run the job...
                                wfProfileIn( __METHOD__ . '-' . get_class( $job ) );
                                $t = microtime( true );
@@ -173,9 +176,12 @@ class RunJobs extends Maintenance {
        private function getBackoffTimeToWait( Job $job ) {
                global $wgJobBackoffThrottling;
 
-               if ( !isset( $wgJobBackoffThrottling[$job->getType()] ) ) {
+               if ( !isset( $wgJobBackoffThrottling[$job->getType()] ) ||
+                       $job instanceof DuplicateJob // no work was done
+               ) {
                        return 0; // not throttled
                }
+
                $itemsPerSecond = $wgJobBackoffThrottling[$job->getType()];
                if ( $itemsPerSecond <= 0 ) {
                        return 0; // not throttled
@@ -207,7 +213,7 @@ class RunJobs extends Maintenance {
                        $content = stream_get_contents( $handle );
                        flock( $handle, LOCK_UN );
                        fclose( $handle );
-                       $backoffs = json_decode( $content, true ) ?: array();
+                       $backoffs = json_decode( $content, true ) ? : array();
                }
 
                return $backoffs;
@@ -225,7 +231,7 @@ class RunJobs extends Maintenance {
                $handle = fopen( $file, 'wb+' );
                flock( $handle, LOCK_EX );
                $content = stream_get_contents( $handle );
-               $cBackoffs = json_decode( $content, true ) ?: array();
+               $cBackoffs = json_decode( $content, true ) ? : array();
                foreach ( $backoffs as $type => $timestamp ) {
                        $cBackoffs[$type] = isset( $cBackoffs[$type] ) ? $cBackoffs[$type] : 0;
                        $cBackoffs[$type] = max( $cBackoffs[$type], $backoffs[$type] );