Merge "Remove self-explaining "section heading" comments from classes"
[lhc/web/wiklou.git] / includes / objectcache / ObjectCache.php
index 6d6d345..67d2346 100644 (file)
@@ -332,6 +332,8 @@ class ObjectCache {
         * @throws UnexpectedValueException
         */
        public static function newWANCacheFromParams( array $params ) {
+               global $wgCommandLineMode;
+
                $services = MediaWikiServices::getInstance();
 
                $erGroup = $services->getEventRelayerGroup();
@@ -340,12 +342,17 @@ class ObjectCache {
                        $params['channels'][$action] = $channel;
                }
                $params['cache'] = self::newFromParams( $params['store'] );
-               $params['stats'] = $services->getStatsdDataFactory();
                if ( isset( $params['loggroup'] ) ) {
                        $params['logger'] = LoggerFactory::getInstance( $params['loggroup'] );
                } else {
                        $params['logger'] = LoggerFactory::getInstance( 'objectcache' );
                }
+               if ( !$wgCommandLineMode ) {
+                       // Send the statsd data post-send on HTTP requests; avoid in CLI mode (T181385)
+                       $params['stats'] = $services->getStatsdDataFactory();
+                       // Let pre-emptive refreshes happen post-send on HTTP requests
+                       $params['asyncHandler'] = [ DeferredUpdates::class, 'addCallableUpdate' ];
+               }
                $class = $params['class'];
 
                return new $class( $params );