MediaWiki REL1_28
EnqueueJob Class Reference

Router job that takes jobs and enqueues them to their proper queues. More...

Inheritance diagram for EnqueueJob:
Collaboration diagram for EnqueueJob:

Public Member Functions

 __construct (Title $title, array $params)
 Callers should use the factory methods instead.
 
 run ()
 Run the job.
 
- Public Member Functions inherited from Job
 __construct ( $command, $title, $params=false)
 
 allowRetries ()
 
 getDeduplicationInfo ()
 Subclasses may need to override this to make duplication detection work.
 
 getLastError ()
 
 getParams ()
 
 getQueuedTimestamp ()
 
 getReadyTimestamp ()
 
 getReleaseTimestamp ()
 
 getRequestId ()
 
 getRootJobParams ()
 
 getTitle ()
 
 getType ()
 
 hasRootJobParams ()
 
 ignoreDuplicates ()
 Whether the queue should reject insertion of this job if a duplicate exists.
 
 insert ()
 Insert a single job into the queue.
 
 isRootJob ()
 
 teardown ( $status)
 Do any final cleanup after run(), deferred updates, and all DB commits happen.
 
 toString ()
 
 workItemCount ()
 

Static Public Member Functions

static newFromJobsByWiki (array $jobsByWiki)
 
static newFromLocalJobs ( $jobs)
 
- Static Public Member Functions inherited from Job
static batchInsert ( $jobs)
 Batch-insert a group of jobs into the queue.
 
static factory ( $command, Title $title, $params=[])
 Create the appropriate object to handle a specific job.
 
static newRootJobParams ( $key)
 Get "root job" parameters for a task.
 

Additional Inherited Members

- Public Attributes inherited from Job
string $command
 
array $metadata = []
 Additional queue metadata.
 
array $params
 Array of job parameters.
 
- Protected Member Functions inherited from Job
 addTeardownCallback ( $callback)
 
 setLastError ( $error)
 
- Protected Attributes inherited from Job
string $error
 Text for error that occurred last.
 
bool $removeDuplicates
 Expensive jobs may set this to true.
 
callable[] $teardownCallbacks = []
 
Title $title
 

Detailed Description

Router job that takes jobs and enqueues them to their proper queues.

This can be used for several things:

  • a) Making multi-job enqueues more robust by atomically enqueueing a single job that pushes the actual jobs (with retry logic)
  • b) Masking the latency of pushing jobs to different queues/wikis
  • c) Low-latency enqueues to push jobs from warm to hot datacenters
Since
1.25

Definition at line 36 of file EnqueueJob.php.

Constructor & Destructor Documentation

◆ __construct()

EnqueueJob::__construct ( Title  $title,
array  $params 
)

Callers should use the factory methods instead.

Parameters
Title$title
array$paramsJob parameters

Definition at line 43 of file EnqueueJob.php.

References Job\$params, and Job\$title.

Member Function Documentation

◆ newFromJobsByWiki()

static EnqueueJob::newFromJobsByWiki ( array  $jobsByWiki)
static
Parameters
array$jobsByWikiMap of (wiki => JobSpecification list)
Returns
EnqueueJob

Definition at line 61 of file EnqueueJob.php.

References $job, as, and NS_SPECIAL.

Referenced by newFromLocalJobs().

◆ newFromLocalJobs()

static EnqueueJob::newFromLocalJobs (   $jobs)
static
Parameters
JobSpecification | JobSpecification[]$jobs
Returns
EnqueueJob

Definition at line 51 of file EnqueueJob.php.

References newFromJobsByWiki(), and wfWikiID().

◆ run()

EnqueueJob::run ( )

Run the job.

Returns
bool Success

Reimplemented from Job.

Definition at line 88 of file EnqueueJob.php.

References as, JobSpecification\newFromArray(), and JobQueueGroup\singleton().


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