summaryrefslogtreecommitdiff
path: root/maintenance/runJobs.php
diff options
context:
space:
mode:
Diffstat (limited to 'maintenance/runJobs.php')
-rw-r--r--maintenance/runJobs.php12
1 files changed, 12 insertions, 0 deletions
diff --git a/maintenance/runJobs.php b/maintenance/runJobs.php
index d72addc7..343cda8a 100644
--- a/maintenance/runJobs.php
+++ b/maintenance/runJobs.php
@@ -1,13 +1,22 @@
<?php
+$optionsWithArgs = array( 'maxjobs' );
+$wgUseNormalUser = true;
require_once( 'commandLine.inc' );
require_once( "$IP/includes/JobQueue.php" );
require_once( "$IP/includes/FakeTitle.php" );
+if ( isset( $options['maxjobs'] ) ) {
+ $maxJobs = $options['maxjobs'];
+} else {
+ $maxJobs = 10000;
+}
+
// Trigger errors on inappropriate use of $wgTitle
$wgTitle = new FakeTitle;
$dbw =& wfGetDB( DB_MASTER );
+$n = 0;
while ( $dbw->selectField( 'job', 'count(*)', '', 'runJobs.php' ) ) {
while ( false != ($job = Job::pop()) ) {
wfWaitForSlaves( 5 );
@@ -15,6 +24,9 @@ while ( $dbw->selectField( 'job', 'count(*)', '', 'runJobs.php' ) ) {
if ( !$job->run() ) {
print "Error: {$job->error}\n";
}
+ if ( $maxJobs && ++$n > $maxJobs ) {
+ break 2;
+ }
}
}
?>