Merge "Align "What's this" vertically"
[lhc/web/wiklou.git] / includes / deferred / CdnCacheUpdate.php
index 65ff9f3..7fafc0e 100644 (file)
@@ -49,11 +49,12 @@ class CdnCacheUpdate implements DeferrableUpdate, MergeableUpdate {
        /**
         * Create an update object from an array of Title objects, or a TitleArray object
         *
-        * @param Traversable|array $titles
+        * @param Traversable|Title[] $titles
         * @param string[] $urlArr
         * @return CdnCacheUpdate
         */
        public static function newFromTitles( $titles, $urlArr = [] ) {
+               ( new LinkBatch( $titles ) )->execute();
                /** @var Title $title */
                foreach ( $titles as $title ) {
                        $urlArr = array_merge( $urlArr, $title->getCdnUrls() );
@@ -65,7 +66,7 @@ class CdnCacheUpdate implements DeferrableUpdate, MergeableUpdate {
        /**
         * @param Title $title
         * @return CdnCacheUpdate
-        * @deprecated 1.27
+        * @deprecated since 1.27
         */
        public static function newSimplePurge( Title $title ) {
                return new CdnCacheUpdate( $title->getCdnUrls() );
@@ -112,12 +113,18 @@ class CdnCacheUpdate implements DeferrableUpdate, MergeableUpdate {
                // Reliably broadcast the purge to all edge nodes
                $relayer = MediaWikiServices::getInstance()->getEventRelayerGroup()
                                        ->getRelayer( 'cdn-url-purges' );
-               $relayer->notify(
+               $ts = microtime( true );
+               $relayer->notifyMulti(
                        'cdn-url-purges',
-                       [
-                               'urls' => array_values( $urlArr ), // JSON array
-                               'timestamp' => microtime( true )
-                       ]
+                       array_map(
+                               function ( $url ) use ( $ts ) {
+                                       return [
+                                               'url' => $url,
+                                               'timestamp' => $ts,
+                                       ];
+                               },
+                               $urlArr
+                       )
                );
 
                // Send lossy UDP broadcasting if enabled