$lbConf = MWLBFactory::applyDefaultConfig(
$mainConfig->get( 'LBFactoryConf' ),
- $mainConfig
+ $mainConfig,
+ $services->getConfiguredReadOnlyMode()
);
$class = MWLBFactory::getLBFactoryClass( $lbConf );
},
'SiteLookup' => function( MediaWikiServices $services ) {
- // Use the default SiteStore as the SiteLookup implementation for now
- return $services->getSiteStore();
+ $cacheFile = $services->getMainConfig()->get( 'SitesCacheFile' );
+
+ if ( $cacheFile !== false ) {
+ return new FileBasedSiteLookup( $cacheFile );
+ } else {
+ // Use the default SiteStore as the SiteLookup implementation for now
+ return $services->getSiteStore();
+ }
},
'ConfigFactory' => function( MediaWikiServices $services ) {
'WatchedItemStore' => function( MediaWikiServices $services ) {
$store = new WatchedItemStore(
$services->getDBLoadBalancer(),
- new HashBagOStuff( [ 'maxKeys' => 100 ] )
+ new HashBagOStuff( [ 'maxKeys' => 100 ] ),
+ $services->getReadOnlyMode()
);
$store->setStatsdDataFactory( $services->getStatsdDataFactory() );
return $store;
return $vrsClient;
},
+ 'ConfiguredReadOnlyMode' => function( MediaWikiServices $services ) {
+ return new ConfiguredReadOnlyMode( $services->getMainConfig() );
+ },
+
+ 'ReadOnlyMode' => function( MediaWikiServices $services ) {
+ return new ReadOnlyMode(
+ $services->getConfiguredReadOnlyMode(),
+ $services->getDBLoadBalancer()
+ );
+ },
+
///////////////////////////////////////////////////////////////////////////
// NOTE: When adding a service here, don't forget to add a getter function
// in the MediaWikiServices class. The convenience getter should just call