// Serialize links updates by page ID so they see each others' changes
$scopedLock = LinksUpdate::acquirePageLock( wfGetDB( DB_MASTER ), $pageId, 'job' );
+ if ( $scopedLock === null ) {
+ $this->setLastError( 'LinksUpdate already running for this page, try again later.' );
+ return false;
+ }
if ( WikiPage::newFromID( $pageId, WikiPage::READ_LATEST ) ) {
// The page was restored somehow or something went wrong
}
$factory = MediaWikiServices::getInstance()->getDBLoadBalancerFactory();
- $timestamp = isset( $this->params['timestamp'] ) ? $this->params['timestamp'] : null;
+ $timestamp = $this->params['timestamp'] ?? null;
$page = WikiPage::factory( $this->title ); // title when deleted
$update = new LinksDeletionUpdate( $page, $pageId, $timestamp );