X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=maintenance%2FupdateSpecialPages.php;h=1491e62ac5e77e791c304f3df3674dd4a3d95197;hb=5490b1270a0a7447f28d2407736fc3c1deb41d44;hp=e2c0c61592b074b1251e007e100c26bf1fa991a2;hpb=059fdf444ebc254fe703d36c98397164b5dbd533;p=lhc%2Fweb%2Fwiklou.git diff --git a/maintenance/updateSpecialPages.php b/maintenance/updateSpecialPages.php index e2c0c61592..1491e62ac5 100644 --- a/maintenance/updateSpecialPages.php +++ b/maintenance/updateSpecialPages.php @@ -24,6 +24,9 @@ require_once __DIR__ . '/Maintenance.php'; +use MediaWiki\MediaWikiServices; +use Wikimedia\Rdbms\DBReplicationWaitError; + /** * Maintenance script to update cached special pages. * @@ -72,7 +75,7 @@ class UpdateSpecialPages extends Maintenance { $queryPage = $specialObj; } else { $class = get_class( $specialObj ); - $this->error( "$class is not an instance of QueryPage.\n", 1 ); + $this->fatalError( "$class is not an instance of QueryPage.\n" ); die; } @@ -119,16 +122,22 @@ class UpdateSpecialPages extends Maintenance { * mysql connection to "go away" */ private function reopenAndWaitForReplicas() { - if ( !wfGetLB()->pingAll() ) { + $lbFactory = MediaWikiServices::getInstance()->getDBLoadBalancerFactory(); + $lb = $lbFactory->getMainLB(); + if ( !$lb->pingAll() ) { $this->output( "\n" ); do { $this->error( "Connection failed, reconnecting in 10 seconds..." ); sleep( 10 ); - } while ( !wfGetLB()->pingAll() ); + } while ( !$lb->pingAll() ); $this->output( "Reconnected\n\n" ); } - # Wait for the replica DB to catch up - wfWaitForSlaves(); + // Wait for the replica DB to catch up + try { + $lbFactory->waitForReplication(); + } catch ( DBReplicationWaitError $e ) { + // ignore + } } public function doSpecialPageCacheUpdates( $dbw ) { @@ -170,5 +179,5 @@ class UpdateSpecialPages extends Maintenance { } } -$maintClass = "UpdateSpecialPages"; +$maintClass = UpdateSpecialPages::class; require_once RUN_MAINTENANCE_IF_MAIN;