Add fastcgi_finish_request where appropriate
When using PHP-FPM to run PHP on a web server, the function fastcgi_finish_request is provided, which flushes all response data to the client and closes the connection, allowing PHP to perform additional work without delaying the client. This adds fastcgi_finish_request calls in index.php and api.php where appropriate and if the function exists, so that the connection is closed once the output is definitely finished. Change-Id: Ic67a8956545874e94df5198088c0f4aa58ca376e
This commit is contained in:
parent
47c9b93008
commit
6aeb565733
2 changed files with 8 additions and 0 deletions
5
api.php
5
api.php
|
|
@ -72,12 +72,17 @@ $processor = new ApiMain( RequestContext::getMain(), $wgEnableWriteAPI );
|
|||
// Process data & print results
|
||||
$processor->execute();
|
||||
|
||||
if ( function_exists( 'fastcgi_finish_request' ) ) {
|
||||
fastcgi_finish_request();
|
||||
}
|
||||
|
||||
// Execute any deferred updates
|
||||
DeferredUpdates::doUpdates();
|
||||
|
||||
// Log what the user did, for book-keeping purposes.
|
||||
$endtime = microtime( true );
|
||||
wfProfileOut( 'api.php' );
|
||||
|
||||
wfLogProfilingData();
|
||||
|
||||
// Log the request
|
||||
|
|
|
|||
|
|
@ -458,6 +458,9 @@ class MediaWiki {
|
|||
try {
|
||||
$this->checkMaxLag();
|
||||
$this->main();
|
||||
if ( function_exists( 'fastcgi_finish_request' ) ) {
|
||||
fastcgi_finish_request();
|
||||
}
|
||||
$this->restInPeace();
|
||||
} catch ( Exception $e ) {
|
||||
MWExceptionHandler::handle( $e );
|
||||
|
|
|
|||
Loading…
Reference in a new issue