33 parent::__construct(
'RunJobs' );
44 wfHttpError( 423,
'Locked',
'Wiki is in read-only mode.' );
50 wfHttpError( 400,
'Bad Request',
'Request must be POSTed.' );
55 $optional = [
'maxjobs' => 0,
'maxtime' => 30,
'type' =>
false,
'async' =>
true ];
56 $required = array_flip( [
'title',
'tasks',
'signature',
'sigexpiry' ] );
57 $params = array_intersect_key( $this->
getRequest()->getValues(), $required + $optional );
58 $missing = array_diff_key( $required,
$params );
59 if ( count( $missing ) ) {
61 'Missing parameters: ' . implode(
', ', array_keys( $missing ) )
68 unset( $squery[
'signature'] );
70 $providedSignature =
$params[
'signature'];
71 $verified = is_string( $providedSignature )
72 && hash_equals( $correctSignature, $providedSignature );
73 if ( !$verified ||
$params[
'sigexpiry'] < time() ) {
74 wfHttpError( 400,
'Bad Request',
'Invalid or stale signature provided.' );
88 DeferredUpdates::addUpdate(
95 DeferredUpdates::POSTSEND
104 $runner =
new JobRunner( LoggerFactory::getInstance(
'runJobs' ) );
107 'maxJobs' =>
$params[
'maxjobs'] ?: 1,
108 'maxTime' =>
$params[
'maxtime'] ?: 30
wfReadOnly()
Check whether the wiki is in read-only mode.
wfHttpError( $code, $label, $desc)
Provide a simple HTTP error.
wfArrayToCgi( $array1, $array2=null, $prefix='')
This function takes one or two arrays as input, and returns a CGI-style string, e....
static header( $code)
Output an HTTP status code header.
Job queue runner utility methods.
getOutput()
Get the OutputPage being used for this instance.
getConfig()
Shortcut to get main config object.
getRequest()
Get the WebRequest being used for this instance.
Special page designed for running background tasks (internal use only)
execute( $par='')
Default execute method Checks user permissions.
doesWrites()
Indicates whether this special page may perform database writes.
static getQuerySignature(array $query, $secretKey)
Deferrable update that must run outside of any explicit LBFactory transaction round.
Shortcut to construct a special page which is unlisted by default.
null means default in associative array with keys and values unescaped Should be merged with default with a value of false meaning to suppress the attribute in associative array with keys and values unescaped noclasses just before the function returns a value If you return true
null for the local wiki Added should default to null in handler for backwards compatibility add a value to it if you want to add a cookie that have to vary cache options can modify $query
while(( $__line=Maintenance::readconsole()) !==false) print