MediaWiki REL1_40
|
Interface for serializable objects that describe a job queue task. More...
Inherited by GenericParameterJob, JobSpecification, and RunnableJob.
Public Member Functions | |
getDeduplicationInfo () | |
Subclasses may need to override this to make duplication detection work. | |
getParams () | |
getReleaseTimestamp () | |
getRootJobParams () | |
getType () | |
hasRootJobParams () | |
ignoreDuplicates () | |
isRootJob () | |
Interface for serializable objects that describe a job queue task.
A job specification can be inserted into a queue via JobQueue::push(). The specification parameters should be JSON serializable (e.g. no PHP classes). Whatever queue the job specification is pushed into is assumed to have job runners that will eventually pop the job specification from the queue, construct a RunnableJob instance from the specification, and then execute that instance via RunnableJob::run().
Job classes must have a constructor that takes a Title and a parameter array, except when they also implement GenericParameterJob in which case they must only take an array. When reconstructing the job from the job queue, the value returned from getParams() will be passed in as the constructor's array parameter; the title will be constructed from the parameter array's namespace
and title
fields (when these are omitted, some fallback title will be used).
Definition at line 42 of file IJobSpecification.php.
IJobSpecification::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.
Implemented in Job, AssembleUploadChunksJob, CategoryMembershipChangeJob, ClearUserWatchlistJob, HTMLCacheUpdateJob, PublishStashedFileJob, RefreshLinksJob, and JobSpecification.
IJobSpecification::getParams | ( | ) |
Implemented in Job, and JobSpecification.
Referenced by JobQueueMemory\jobFromSpecInternal().
IJobSpecification::getReleaseTimestamp | ( | ) |
Implemented in Job, and JobSpecification.
IJobSpecification::getRootJobParams | ( | ) |
Implemented in Job, and JobSpecification.
IJobSpecification::getType | ( | ) |
Implemented in Job, and JobSpecification.
Referenced by JobQueueGroup\ack(), and JobQueueMemory\jobFromSpecInternal().
IJobSpecification::hasRootJobParams | ( | ) |
Implemented in Job, and JobSpecification.
IJobSpecification::ignoreDuplicates | ( | ) |
Implemented in Job, and JobSpecification.
IJobSpecification::isRootJob | ( | ) |
Implemented in Job, and JobSpecification.