MediaWiki  master
MediaWiki Class Reference

The MediaWiki class is the helper class for the index.php entry point. More...

Classes

class  MediaWikiServices
 Service locator for MediaWiki core services. More...
 
class  OutputHandler
 

Public Member Functions

 __construct (IContextSource $context=null)
 
 doPostOutputShutdown ()
 This function does work that can be done after the user gets the HTTP response so they don't block on it. More...
 
 getAction ()
 Returns the name of the action that will be executed. More...
 
 getTitle ()
 Get the Title object that we'll be acting on, as specified in the WebRequest. More...
 
 restInPeace ()
 Ends this task peacefully. More...
 
 run ()
 Run the current MediaWiki instance; index.php just calls this. More...
 

Static Public Member Functions

static emitBufferedStatsdData (IBufferingStatsdDataFactory $stats, Config $config)
 Send out any buffered statsd data according to sampling rules. More...
 
static preOutputCommit (IContextSource $context, $postCommitWork=null)
 This function commits all DB and session changes as needed before the client can receive a response (in case DB commit fails) and thus also before the response can trigger a subsequent related request by the client. More...
 

Detailed Description

The MediaWiki class is the helper class for the index.php entry point.

Definition at line 38 of file MediaWiki.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki::__construct ( IContextSource  $context = null)
Parameters
IContextSource | null$context

Definition at line 61 of file MediaWiki.php.

References RequestContext\getMain().

Member Function Documentation

◆ doPostOutputShutdown()

MediaWiki::doPostOutputShutdown ( )

This function does work that can be done after the user gets the HTTP response so they don't block on it.

This manages deferred updates, job insertion, final commit, and the logging of profiling data

Since
1.26

Definition at line 810 of file MediaWiki.php.

References WebResponse\disableForPostSend(), and MWExceptionHandler\rollbackPrimaryChangesAndLog().

Referenced by MediaWiki\Rest\EntryPoint\execute().

◆ emitBufferedStatsdData()

static MediaWiki::emitBufferedStatsdData ( IBufferingStatsdDataFactory  $stats,
Config  $config 
)
static

Send out any buffered statsd data according to sampling rules.

For web requests, this is called once by MediaWiki::restInPeace(), which is post-send (after the response is sent to the client).

For maintenance scripts, especially long-running CLI scripts, it is called more often, to avoid OOM, since we buffer stats (T181385), based on the following heuristics:

  • Long-running scripts that involve database writes often use transactions to commit chunks of work. We flush from IDatabase::setTransactionListener, as wired up by MWLBFactory::applyGlobalState.
  • Long-running scripts that involve database writes but don't need any transactions will still periodically wait for replication to be graceful to the databases. We flush from ILBFactory::setWaitForReplicationListener as wired up by MWLBFactory::applyGlobalState.
  • Any other long-running scripts will probably report progress to stdout in some way. We also flush from Maintenance::output().
Parameters
IBufferingStatsdDataFactory$stats
Config$config
Exceptions
ConfigException
Since
1.31

Definition at line 1152 of file MediaWiki.php.

References IBufferingStatsdDataFactory\clearData(), Config\get(), IBufferingStatsdDataFactory\getData(), IBufferingStatsdDataFactory\hasData(), and MWExceptionHandler\logException().

Referenced by Maintenance\output(), Maintenance\shutdown(), and wfLogProfilingData().

◆ getAction()

MediaWiki::getAction ( )

Returns the name of the action that will be executed.

Returns
string Action

Definition at line 175 of file MediaWiki.php.

◆ getTitle()

MediaWiki::getTitle ( )

Get the Title object that we'll be acting on, as specified in the WebRequest.

Returns
Title

Definition at line 159 of file MediaWiki.php.

References SpecialPage\getTitleFor().

◆ preOutputCommit()

static MediaWiki::preOutputCommit ( IContextSource  $context,
  $postCommitWork = null 
)
static

This function commits all DB and session changes as needed before the client can receive a response (in case DB commit fails) and thus also before the response can trigger a subsequent related request by the client.

If there is a significant amount of content to flush, it can be done in $postCommitWork

Parameters
IContextSource$context
callable | null$postCommitWorkUnused as of MediaWiki 1.39
Since
1.27

Definition at line 654 of file MediaWiki.php.

References DeferredUpdates\doUpdates(), Config\get(), IContextSource\getConfig(), IContextSource\getOutput(), IContextSource\getRequest(), IContextSource\getUser(), MWExceptionHandler\logException(), wfDebug(), and wfDebugLog().

Referenced by MediaWiki\Rest\EntryPoint\execute(), and ApiMain\executeActionWithErrorHandling().

◆ restInPeace()

MediaWiki::restInPeace ( )

Ends this task peacefully.

Definition at line 1083 of file MediaWiki.php.

References DeferredUpdates\doUpdates(), Profiler\instance(), and wfDebug().

◆ run()


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