http://www.mediawiki.org/wiki/Special:Code/MediaWiki/83640

Revision: 83640
Author:   tstarling
Date:     2011-03-10 05:26:34 +0000 (Thu, 10 Mar 2011)
Log Message:
-----------
Add --maxtime parameter to allow job runners to be limited by time instead of 
job count. This makes more sense when --procs is used. Using it on Wikimedia 
will reduce the effect of laggy slaves.

Modified Paths:
--------------
    trunk/phase3/maintenance/runJobs.php

Modified: trunk/phase3/maintenance/runJobs.php
===================================================================
--- trunk/phase3/maintenance/runJobs.php        2011-03-10 05:00:19 UTC (rev 
83639)
+++ trunk/phase3/maintenance/runJobs.php        2011-03-10 05:26:34 UTC (rev 
83640)
@@ -31,6 +31,7 @@
                parent::__construct();
                $this->mDescription = "Run pending jobs";
                $this->addOption( 'maxjobs', 'Maximum number of jobs to run', 
false, true );
+               $this->addOption( 'maxtime', 'Maximum amount of wall-clock 
time', false, true );
                $this->addOption( 'type', 'Type of job to run', false, true );
                $this->addOption( 'procs', 'Number of processes to use', false, 
true );
        }
@@ -52,7 +53,9 @@
                                exit( 0 );
                        }
                }
-               $maxJobs = $this->getOption( 'maxjobs', 10000 );
+               $maxJobs = $this->getOption( 'maxjobs', false );
+               $maxTime = $this->getOption( 'maxtime', false );
+               $startTime = time();
                $type = $this->getOption( 'type', false );
                $wgTitle = Title::newFromText( 'RunJobs.php' );
                $dbw = wfGetDB( DB_MASTER );
@@ -80,9 +83,13 @@
                                } else {
                                        $this->runJobsLog( $job->toString() . " 
t=$timeMs good" );
                                }
+
                                if ( $maxJobs && ++$n > $maxJobs ) {
                                        break 2;
                                }
+                               if ( $maxTime && time() - $startTime > $maxTime 
) {
+                                       break 2;
+                               }
                        }
                }
        }


_______________________________________________
MediaWiki-CVS mailing list
MediaWiki-CVS@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to