X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fdeferred%2FLinksUpdate.php;h=c253e74403822ebc0ca38b42b3c5f1e45b69ef29;hb=659961bb5d74937071c59bbc733259650336d3d5;hp=9a24b963669f377d43b2d0027a91bf530164ed5f;hpb=cb2896f90ebef77c02c9da4067b0e56e37471092;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/deferred/LinksUpdate.php b/includes/deferred/LinksUpdate.php index 9a24b96366..c253e74403 100644 --- a/includes/deferred/LinksUpdate.php +++ b/includes/deferred/LinksUpdate.php @@ -145,7 +145,11 @@ class LinksUpdate extends SqlDataUpdate implements EnqueueableDataUpdate { public function doUpdate() { Hooks::run( 'LinksUpdate', array( &$this ) ); $this->doIncrementalUpdate(); - Hooks::run( 'LinksUpdateComplete', array( &$this ) ); + + $that = $this; + $this->mDb->onTransactionIdle( function() use ( $that ) { + Hooks::run( 'LinksUpdateComplete', array( &$that ) ); + } ); } protected function doIncrementalUpdate() { @@ -944,8 +948,7 @@ class LinksUpdate extends SqlDataUpdate implements EnqueueableDataUpdate { $inv = array( $inv ); } foreach ( $inv as $table ) { - $update = new HTMLCacheUpdate( $this->mTitle, $table ); - $update->doUpdate(); + DeferredUpdates::addUpdate( new HTMLCacheUpdate( $this->mTitle, $table ) ); } } } @@ -1011,6 +1014,13 @@ class LinksUpdate extends SqlDataUpdate implements EnqueueableDataUpdate { } else { $userInfo = false; } + + if ( $this->mRevision ) { + $triggeringRevisionId = $this->mRevision->getId(); + } else { + $triggeringRevisionId = false; + } + return array( 'wiki' => $this->mDb->getWikiID(), 'job' => new JobSpecification( @@ -1020,6 +1030,7 @@ class LinksUpdate extends SqlDataUpdate implements EnqueueableDataUpdate { 'rootJobTimestamp' => $this->mParserOutput->getCacheTime(), 'useRecursiveLinksUpdate' => $this->mRecursive, 'triggeringUser' => $userInfo, + 'triggeringRevisionId' => $triggeringRevisionId, ), array( 'removeDuplicates' => true ), $this->getTitle()