Convert CdnCacheUpdate to event per URL
authorStanislav Malyshev <smalyshev@gmail.com>
Mon, 16 May 2016 19:50:44 +0000 (12:50 -0700)
committerAaron Schulz <aschulz@wikimedia.org>
Mon, 16 May 2016 20:15:07 +0000 (13:15 -0700)
Bug: T134535
Change-Id: I73e22606e86b4db1bc9bf2cb12b9605507ffe2c2

includes/deferred/CdnCacheUpdate.php

index 65ff9f3..4ce9e62 100644 (file)
@@ -112,12 +112,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