MediaWiki  1.27.2
LBFactorySimple Class Reference

A simple single-master LBFactory that gets its configuration from the b/c globals. More...

Inheritance diagram for LBFactorySimple:
Collaboration diagram for LBFactorySimple:

Public Member Functions

 __construct (array $conf)
 
 forEachLB ($callback, array $params=[])
 Execute a function for each tracked load balancer The callback is called with the load balancer as the first parameter, and $params passed as the subsequent parameters. More...
 
getExternalLB ($cluster, $wiki=false)
 
 getMainLB ($wiki=false)
 
 newMainLB ($wiki=false)
 
 shutdown ($flags=0)
 
- Public Member Functions inherited from LBFactory
 __construct (array $conf)
 Construct a factory based on a configuration array (typically from $wgLBFactoryConf) More...
 
 commitAll ($fname=__METHOD__)
 Commit on all connections. More...
 
 commitMasterChanges ($fname=__METHOD__, array $options=[])
 Commit changes on all master connections. More...
 
 disableChronologyProtection ()
 Disable the ChronologyProtector for all load balancers. More...
 
 forEachLB ($callback, array $params=[])
 Execute a function for each tracked load balancer The callback is called with the load balancer as the first parameter, and $params passed as the subsequent parameters. More...
 
getExternalLB ($cluster, $wiki=false)
 Get a cached (tracked) load balancer for external storage. More...
 
 getMainLB ($wiki=false)
 Get a cached (tracked) load balancer object. More...
 
 hasMasterChanges ()
 Determine if any master connection has pending changes. More...
 
 hasOrMadeRecentMasterChanges ()
 Determine if any master connection has pending/written changes from this request. More...
 
 laggedSlaveUsed ()
 Detemine if any lagged slave connection was used. More...
 
 newMainLB ($wiki=false)
 Create a new load balancer object. More...
 
 rollbackMasterChanges ($fname=__METHOD__)
 Rollback changes on all master connections. More...
 
 shutdown ($flags=0)
 Prepare all tracked load balancers for shutdown. More...
 
 waitForReplication (array $opts=[])
 Waits for the slave DBs to catch up to the current master position. More...
 

Protected Member Functions

 newExternalLB ($cluster, $wiki=false)
 
- Protected Member Functions inherited from LBFactory
 newChronologyProtector ()
 
 newExternalLB ($cluster, $wiki=false)
 Create a new load balancer for external storage. More...
 
 shutdownChronologyProtector (ChronologyProtector $cp)
 

Private Attributes

LoadBalancer[] $extLBs = []
 
string $loadMonitorClass
 
LoadBalancer $mainLB
 

Additional Inherited Members

- Static Public Member Functions inherited from LBFactory
static destroyInstance ()
 Shut down, close connections and destroy the cached instance. More...
 
static disableBackend ()
 Disables all access to the load balancer, will cause all database access to throw a DBAccessError. More...
 
static getLBFactoryClass (array $config)
 Returns the LBFactory class to use and the load balancer configuration. More...
 
static setInstance ($instance)
 Set the instance to be the given object. More...
 
static singleton ()
 Get an LBFactory instance. More...
 
- Public Attributes inherited from LBFactory
const SHUTDOWN_NO_CHRONPROT = 1
 
- Protected Attributes inherited from LBFactory
ChronologyProtector $chronProt
 
LoggerInterface $logger
 
string bool $readOnlyReason = false
 Reason all LBs are read-only or false if not. More...
 
TransactionProfiler $trxProfiler
 

Detailed Description

A simple single-master LBFactory that gets its configuration from the b/c globals.

Definition at line 27 of file LBFactorySimple.php.

Constructor & Destructor Documentation

LBFactorySimple::__construct ( array  $conf)

Definition at line 36 of file LBFactorySimple.php.

Member Function Documentation

LBFactorySimple::forEachLB (   $callback,
array  $params = [] 
)

Execute a function for each tracked load balancer The callback is called with the load balancer as the first parameter, and $params passed as the subsequent parameters.

Parameters
callable$callback
array$params

Definition at line 152 of file LBFactorySimple.php.

References $params, and as.

& LBFactorySimple::getExternalLB (   $cluster,
  $wiki = false 
)
Parameters
string$cluster
bool | string$wiki
Returns
array

Definition at line 134 of file LBFactorySimple.php.

References newExternalLB().

LBFactorySimple::getMainLB (   $wiki = false)
Parameters
bool | string$wiki
Returns
LoadBalancer

Definition at line 99 of file LBFactorySimple.php.

References $mainLB, and newMainLB().

LBFactorySimple::newExternalLB (   $cluster,
  $wiki = false 
)
protected
Exceptions
MWException
Parameters
string$cluster
bool | string$wiki
Returns
LoadBalancer

Definition at line 115 of file LBFactorySimple.php.

References $wgExternalServers, and global.

Referenced by getExternalLB().

LBFactorySimple::newMainLB (   $wiki = false)
Parameters
bool | string$wiki
Returns
LoadBalancer

Definition at line 48 of file LBFactorySimple.php.

References $flags, $wgDBcompress, $wgDBname, $wgDBpassword, $wgDBserver, $wgDBservers, $wgDBssl, $wgDBtype, $wgDBuser, as, DBO_COMPRESS, DBO_DEBUG, DBO_DEFAULT, DBO_SSL, global, and true.

Referenced by getMainLB().

LBFactorySimple::shutdown (   $flags = 0)

Member Data Documentation

LoadBalancer [] LBFactorySimple::$extLBs = []
private

Definition at line 31 of file LBFactorySimple.php.

string LBFactorySimple::$loadMonitorClass
private

Definition at line 34 of file LBFactorySimple.php.

LoadBalancer LBFactorySimple::$mainLB
private

Definition at line 29 of file LBFactorySimple.php.

Referenced by getMainLB().


The documentation for this class was generated from the following file: