MediaWiki REL1_35
|
Class for managing forking command line scripts. More...
Public Member Functions | |
__construct ( $numProcs, $flags=0) | |
getChildNumber () | |
Get the number of the child currently running. | |
start () | |
Start the child processes. | |
Protected Member Functions | |
forkWorkers ( $numProcs) | |
Fork a number of worker processes. | |
handleTermSignal ( $signal) | |
initChild () | |
prepareEnvironment () | |
Protected Attributes | |
$childNumber = 0 | |
$children = [] | |
$flags = 0 | |
$procsToStart = 0 | |
$termReceived = false | |
Static Protected Attributes | |
static | $restartableSignals |
Private Attributes | |
const | RESTART_ON_ERROR = 1 |
Pass this flag to __construct() to cause the class to automatically restart workers that exit with non-zero exit status or a signal such as SIGSEGV. | |
Class for managing forking command line scripts.
Currently just does forking and process control, but it could easily be extended to provide IPC and job dispatch.
This class requires the posix and pcntl extensions.
Definition at line 33 of file ForkController.php.
ForkController::__construct | ( | $numProcs, | |
$flags = 0 |
|||
) |
Definition at line 56 of file ForkController.php.
|
protected |
Fork a number of worker processes.
int | $numProcs |
Reimplemented in OrderedStreamingForkController.
Definition at line 166 of file ForkController.php.
References initChild(), and prepareEnvironment().
Referenced by start().
ForkController::getChildNumber | ( | ) |
Get the number of the child currently running.
Note, this is not the pid, but rather which of the total number of children we are
Definition at line 148 of file ForkController.php.
References $childNumber.
|
protected |
Definition at line 196 of file ForkController.php.
|
protected |
Definition at line 191 of file ForkController.php.
Referenced by forkWorkers(), and OrderedStreamingForkController\forkWorkers().
|
protected |
Definition at line 152 of file ForkController.php.
References RedisConnectionPool\destroySingletons().
Referenced by forkWorkers(), and OrderedStreamingForkController\forkWorkers().
ForkController::start | ( | ) |
Start the child processes.
This should only be called from the command line. It should be called as early as possible during execution.
This will return 'child' in the child processes. In the parent process, it will run until all the child processes exit or a TERM signal is received. It will then return 'done'.
Reimplemented in OrderedStreamingForkController.
Definition at line 75 of file ForkController.php.
References forkWorkers().
|
protected |
Definition at line 34 of file ForkController.php.
Referenced by getChildNumber().
|
protected |
Definition at line 34 of file ForkController.php.
|
protected |
Definition at line 36 of file ForkController.php.
Referenced by __construct().
|
protected |
Definition at line 36 of file ForkController.php.
|
staticprotected |
Definition at line 38 of file ForkController.php.
|
protected |
Definition at line 35 of file ForkController.php.
|
private |
Pass this flag to __construct() to cause the class to automatically restart workers that exit with non-zero exit status or a signal such as SIGSEGV.
Definition at line 54 of file ForkController.php.