X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=includes%2Fdeferred%2FCdnCacheUpdate.php;h=b983e97406e234e19817d14bedb76cf4d8422029;hp=66ce9a3ddf839f547255ab6e6c5c7cd64b8238d7;hb=fa0f6f34972c0e0f4aac24a03b3efdfc45f256f6;hpb=f79c9e6ca3c02090d6d56eaecb2ab90d4198b2b9 diff --git a/includes/deferred/CdnCacheUpdate.php b/includes/deferred/CdnCacheUpdate.php index 66ce9a3ddf..b983e97406 100644 --- a/includes/deferred/CdnCacheUpdate.php +++ b/includes/deferred/CdnCacheUpdate.php @@ -24,12 +24,12 @@ use Wikimedia\Assert\Assert; use MediaWiki\MediaWikiServices; /** - * Handles purging appropriate CDN URLs given a title (or titles) + * Handles purging the appropriate CDN objects given a list of URLs or Title instances * @ingroup Cache */ class CdnCacheUpdate implements DeferrableUpdate, MergeableUpdate { /** @var string[] Collection of URLs to purge */ - protected $urls = []; + private $urls = []; /** * @param string[] $urlArr Collection of URLs to purge @@ -39,8 +39,9 @@ class CdnCacheUpdate implements DeferrableUpdate, MergeableUpdate { } public function merge( MergeableUpdate $update ) { - /** @var CdnCacheUpdate $update */ + /** @var self $update */ Assert::parameterType( __CLASS__, $update, '$update' ); + '@phan-var self $update'; $this->urls = array_merge( $this->urls, $update->urls ); } @@ -98,10 +99,9 @@ class CdnCacheUpdate implements DeferrableUpdate, MergeableUpdate { wfDebugLog( 'squid', __METHOD__ . ': ' . implode( ' ', $urlArr ) ); // Reliably broadcast the purge to all edge nodes - $relayer = MediaWikiServices::getInstance()->getEventRelayerGroup() - ->getRelayer( 'cdn-url-purges' ); $ts = microtime( true ); - $relayer->notifyMulti( + $relayerGroup = MediaWikiServices::getInstance()->getEventRelayerGroup(); + $relayerGroup->getRelayer( 'cdn-url-purges' )->notifyMulti( 'cdn-url-purges', array_map( function ( $url ) use ( $ts ) { @@ -137,7 +137,7 @@ class CdnCacheUpdate implements DeferrableUpdate, MergeableUpdate { foreach ( $chunks as $chunk ) { $client = new SquidPurgeClient( $server ); foreach ( $chunk as $url ) { - $client->queuePurge( $url ); + $client->queuePurge( self::expand( $url ) ); } $pool->addClient( $client ); } @@ -254,7 +254,7 @@ class CdnCacheUpdate implements DeferrableUpdate, MergeableUpdate { * @param string $url * @return string */ - public static function expand( $url ) { + private static function expand( $url ) { return wfExpandUrl( $url, PROTO_INTERNAL ); }