Run updates for as many titles as possible and mark the job as failed
if a title is invalid. Set the error message used by the job executer.
Bug: T208147
Change-Id: I7f5fafe9439d8a7b45166515532075202af7d013
function run() {
global $wgUpdateRowsPerJob;
function run() {
global $wgUpdateRowsPerJob;
// Job to update all (or a range of) backlink pages for a page
if ( !empty( $this->params['recursive'] ) ) {
// When the base job branches, wait for the replica DBs to catch up to the master.
// Job to update all (or a range of) backlink pages for a page
if ( !empty( $this->params['recursive'] ) ) {
// When the base job branches, wait for the replica DBs to catch up to the master.
JobQueueGroup::singleton()->push( $jobs );
// Job to update link tables for a set of titles
} elseif ( isset( $this->params['pages'] ) ) {
JobQueueGroup::singleton()->push( $jobs );
// Job to update link tables for a set of titles
} elseif ( isset( $this->params['pages'] ) ) {
- foreach ( $this->params['pages'] as $nsAndKey ) {
- list( $ns, $dbKey ) = $nsAndKey;
- $this->runForTitle( Title::makeTitleSafe( $ns, $dbKey ) );
+ foreach ( $this->params['pages'] as list( $ns, $dbKey ) ) {
+ $title = Title::makeTitleSafe( $ns, $dbKey );
+ if ( $title ) {
+ $this->runForTitle( $title );
+ } else {
+ $ok = false;
+ $this->setLastError( "Invalid title ($ns,$dbKey)." );
+ }
}
// Job to update link tables for a given title
} else {
$this->runForTitle( $this->title );
}
}
// Job to update link tables for a given title
} else {
$this->runForTitle( $this->title );
}