MediaWiki master
MediaWiki\JobQueue\JobSpecification Class Reference

Job queue task description base code. More...

Inherits MediaWiki\JobQueue\IJobSpecification.

Collaboration diagram for MediaWiki\JobQueue\JobSpecification:

Public Member Functions

 __construct ( $type, array $params, array $opts=[], ?PageReference $page=null)
 
 getDeduplicationInfo ()
 Subclasses may need to override this to make duplication detection work.
 
 getParams ()
 
 getReleaseTimestamp ()
 
 getRootJobParams ()
 
 getType ()
 
 hasRootJobParams ()
 
 ignoreDuplicates ()
 
 isRootJob ()
 
 toSerializableArray ()
 

Static Public Member Functions

static newFromArray (array $map)
 

Protected Member Functions

 validateParams (array $params)
 

Protected Attributes

array $opts
 
PageReference $page
 
array $params
 Array of job parameters or false if none.
 
string $type
 

Detailed Description

Job queue task description base code.

Example usage:

'null',
[ 'lives' => 1, 'usleep' => 100, 'pi' => 3.141569 ],
[ 'removeDuplicates' => 1 ]
);
MediaWikiServices::getInstance()->getJobQueueGroup()->push( $job )
Job queue task description base code.
if(count( $args)< 1) $job
Stability: newable
Since
1.23

Definition at line 45 of file JobSpecification.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\JobQueue\JobSpecification::__construct ( $type,
array $params,
array $opts = [],
?PageReference $page = null )
Parameters
string$type
array$paramsMap of key/values 'requestId' - The request ID, as obtained from Telemetry::getRequestId. If not set, the value will be populated from the current instance of Telemetry.
array$optsMap of key/values 'removeDuplicates' key - whether to remove duplicate jobs 'removeDuplicatesIgnoreParams' key - array with parameters to ignore for deduplication
PageReference | null$page

Definition at line 68 of file JobSpecification.php.

References MediaWiki\JobQueue\JobSpecification\$opts, MediaWiki\JobQueue\JobSpecification\$page, MediaWiki\JobQueue\JobSpecification\$params, MediaWiki\JobQueue\JobSpecification\$type, MediaWiki\Page\PageReference\getDBkey(), MediaWiki\Page\PageReference\getNamespace(), NS_SPECIAL, and MediaWiki\JobQueue\JobSpecification\validateParams().

Member Function Documentation

◆ getDeduplicationInfo()

MediaWiki\JobQueue\JobSpecification::getDeduplicationInfo ( )

Subclasses may need to override this to make duplication detection work.

The resulting map conveys everything that makes the job unique. This is only checked if ignoreDuplicates() returns true, meaning that duplicate jobs are supposed to be ignored.

Returns
array Map of key/values

Implements MediaWiki\JobQueue\IJobSpecification.

Definition at line 124 of file JobSpecification.php.

References MediaWiki\JobQueue\JobSpecification\getParams(), and MediaWiki\JobQueue\JobSpecification\getType().

◆ getParams()

MediaWiki\JobQueue\JobSpecification::getParams ( )
Returns
array Parameters that specify sources, targets, and options for execution

Implements MediaWiki\JobQueue\IJobSpecification.

Definition at line 110 of file JobSpecification.php.

References MediaWiki\JobQueue\JobSpecification\$params.

Referenced by MediaWiki\JobQueue\JobSpecification\getDeduplicationInfo().

◆ getReleaseTimestamp()

MediaWiki\JobQueue\JobSpecification::getReleaseTimestamp ( )
Returns
int|null UNIX timestamp to delay running this job until, otherwise null

Implements MediaWiki\JobQueue\IJobSpecification.

Definition at line 114 of file JobSpecification.php.

References wfTimestampOrNull().

◆ getRootJobParams()

MediaWiki\JobQueue\JobSpecification::getRootJobParams ( )
See also
JobQueue::deduplicateRootJob()
Returns
array
Since
1.26

Implements MediaWiki\JobQueue\IJobSpecification.

Definition at line 147 of file JobSpecification.php.

◆ getType()

MediaWiki\JobQueue\JobSpecification::getType ( )
Returns
string Job type that defines what sort of changes this job makes

Implements MediaWiki\JobQueue\IJobSpecification.

Definition at line 106 of file JobSpecification.php.

References MediaWiki\JobQueue\JobSpecification\$type.

Referenced by MediaWiki\JobQueue\JobSpecification\getDeduplicationInfo().

◆ hasRootJobParams()

MediaWiki\JobQueue\JobSpecification::hasRootJobParams ( )
See also
JobQueue::deduplicateRootJob()
Returns
bool
Since
1.22

Implements MediaWiki\JobQueue\IJobSpecification.

Definition at line 154 of file JobSpecification.php.

Referenced by MediaWiki\JobQueue\JobSpecification\isRootJob().

◆ ignoreDuplicates()

MediaWiki\JobQueue\JobSpecification::ignoreDuplicates ( )
Returns
bool Whether only one of each identical set of jobs should be run

Implements MediaWiki\JobQueue\IJobSpecification.

Definition at line 120 of file JobSpecification.php.

◆ isRootJob()

MediaWiki\JobQueue\JobSpecification::isRootJob ( )
See also
JobQueue::deduplicateRootJob()
Returns
bool Whether this is job is a root job

Implements MediaWiki\JobQueue\IJobSpecification.

Definition at line 159 of file JobSpecification.php.

References MediaWiki\JobQueue\JobSpecification\hasRootJobParams().

◆ newFromArray()

static MediaWiki\JobQueue\JobSpecification::newFromArray ( array $map)
static
Parameters
array$mapField/value map
Returns
JobSpecification
Since
1.25

Definition at line 186 of file JobSpecification.php.

◆ toSerializableArray()

MediaWiki\JobQueue\JobSpecification::toSerializableArray ( )
Deprecated
since 1.41
Returns
array Field/value map that can immediately be serialized
Since
1.25

Definition at line 168 of file JobSpecification.php.

References MediaWiki\JobQueue\JobSpecification\$opts, MediaWiki\JobQueue\JobSpecification\$params, MediaWiki\JobQueue\JobSpecification\$type, and wfDeprecated().

◆ validateParams()

MediaWiki\JobQueue\JobSpecification::validateParams ( array $params)
protected

Member Data Documentation

◆ $opts

array MediaWiki\JobQueue\JobSpecification::$opts
protected

◆ $page

PageReference MediaWiki\JobQueue\JobSpecification::$page
protected

◆ $params

array MediaWiki\JobQueue\JobSpecification::$params
protected

◆ $type


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