MediaWiki  REL1_31
JobSpecification Class Reference

Job queue task description base code. More...

Inheritance diagram for JobSpecification:
Collaboration diagram for JobSpecification:

Public Member Functions

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

Static Public Member Functions

static newFromArray (array $map)
 

Protected Member Functions

 validateParams (array $params)
 

Protected Attributes

array $opts
 
array $params
 Array of job parameters or false if none. More...
 
Title $title
 
string $type
 

Detailed Description

Job queue task description base code.

Example usage:

'null',
array( 'lives' => 1, 'usleep' => 100, 'pi' => 3.141569 ),
array( 'removeDuplicates' => 1 ),
);
Since
1.23

Definition at line 103 of file JobSpecification.php.

Constructor & Destructor Documentation

◆ __construct()

JobSpecification::__construct (   $type,
array  $params,
array  $opts = [],
Title  $title = null 
)
Parameters
string$type
array$paramsMap of key/values
array$optsMap of key/values; includes 'removeDuplicates'
Title$titleOptional descriptive title

Definition at line 122 of file JobSpecification.php.

References $opts, $params, $type, class, Title\makeTitle(), NS_SPECIAL, title, type, and validateParams().

Member Function Documentation

◆ getDeduplicationInfo()

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 IJobSpecification.

Definition at line 169 of file JobSpecification.php.

References getParams(), getTitle(), and getType().

◆ getParams()

JobSpecification::getParams ( )
Returns
array

Implements IJobSpecification.

Definition at line 155 of file JobSpecification.php.

References $params.

Referenced by getDeduplicationInfo().

◆ getReleaseTimestamp()

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

Implements IJobSpecification.

Definition at line 159 of file JobSpecification.php.

References wfTimestampOrNull().

◆ getRootJobParams()

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

Implements IJobSpecification.

Definition at line 187 of file JobSpecification.php.

◆ getTitle()

JobSpecification::getTitle ( )
Returns
Title Descriptive title (this can simply be informative)

Implements IJobSpecification.

Definition at line 151 of file JobSpecification.php.

References $title.

Referenced by getDeduplicationInfo().

◆ getType()

JobSpecification::getType ( )
Returns
string Job type

Implements IJobSpecification.

Definition at line 147 of file JobSpecification.php.

References $type.

Referenced by getDeduplicationInfo().

◆ hasRootJobParams()

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

Implements IJobSpecification.

Definition at line 198 of file JobSpecification.php.

Referenced by isRootJob().

◆ ignoreDuplicates()

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

Implements IJobSpecification.

Definition at line 165 of file JobSpecification.php.

◆ isRootJob()

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

Implements IJobSpecification.

Definition at line 203 of file JobSpecification.php.

References hasRootJobParams().

◆ newFromArray()

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

Definition at line 228 of file JobSpecification.php.

References $title, and Title\makeTitle().

Referenced by EnqueueJob\run().

◆ toSerializableArray()

JobSpecification::toSerializableArray ( )
Returns
array Field/value map that can immediately be serialized
Since
1.25

Definition at line 211 of file JobSpecification.php.

References $opts, $params, $type, and title.

◆ validateParams()

JobSpecification::validateParams ( array  $params)
protected
Parameters
array$params

Definition at line 137 of file JobSpecification.php.

References $params, and as.

Referenced by __construct().

Member Data Documentation

◆ $opts

array JobSpecification::$opts
protected

Definition at line 114 of file JobSpecification.php.

Referenced by __construct(), and toSerializableArray().

◆ $params

array JobSpecification::$params
protected

Array of job parameters or false if none.

Definition at line 108 of file JobSpecification.php.

Referenced by __construct(), getParams(), toSerializableArray(), and validateParams().

◆ $title

Title JobSpecification::$title
protected

Definition at line 111 of file JobSpecification.php.

Referenced by getTitle(), and newFromArray().

◆ $type

string JobSpecification::$type
protected

Definition at line 105 of file JobSpecification.php.

Referenced by __construct(), getType(), and toSerializableArray().


The documentation for this class was generated from the following file:
array
the array() calling protocol came about after MediaWiki 1.4rc1.
NS_SPECIAL
const NS_SPECIAL
Definition: Defines.php:63
Title\makeTitle
static makeTitle( $ns, $title, $fragment='', $interwiki='')
Create a new Title from a namespace index and a DB key.
Definition: Title.php:534
JobQueueGroup\singleton
static singleton( $domain=false)
Definition: JobQueueGroup.php:72
$job
if(count( $args)< 1) $job
Definition: recompressTracked.php:47
JobSpecification
Job queue task description base code.
Definition: JobSpecification.php:103