MediaWiki  REL1_19
Job Class Reference

Class to both describe a background job and handle jobs. More...

Inheritance diagram for Job:

List of all members.

Public Member Functions

 __construct ($command, $title, $params=false, $id=0)
 getLastError ()
 insert ()
 Insert a single job into the queue.
 removeDuplicates ()
 Remove jobs in the job queue which are duplicates of this job.
 run ()
 Run the job.
 toString ()

Static Public Member Functions

static batchInsert ($jobs)
 Batch-insert a group of jobs into the queue.
static extractBlob ($blob)
static factory ($command, $title, $params=false, $id=0)
 Create the appropriate object to handle a specific job.
static makeBlob ($params)
static pop ($offset=0)
 Pop a job off the front of the queue.
static pop_type ($type)
 Pop a job of a certain type.
static safeBatchInsert ($jobs)
 Insert a group of jobs into the queue.

Public Attributes

 $command
 $error
 $id
 $params
 $removeDuplicates
 $title

Protected Member Functions

 insertFields ()
 setLastError ($error)

Detailed Description

Class to both describe a background job and handle jobs.

Definition at line 18 of file JobQueue.php.


Constructor & Destructor Documentation

Job::__construct ( command,
title,
params = false,
id = 0 
)
Parameters:
$command
$title
$paramsarray
int$id

Definition at line 315 of file JobQueue.php.

References $command, $id, $params, $title, and removeDuplicates().

Here is the call graph for this function:


Member Function Documentation

static Job::batchInsert ( jobs) [static]

Batch-insert a group of jobs into the queue.

This will be wrapped in a transaction with a forced commit.

This may add duplicate at insert time, but they will be removed later on, when the first one is popped.

Parameters:
$jobsarray of Job objects

Definition at line 249 of file JobQueue.php.

References $job, $rows, wfGetDB(), and wfIncrStats().

Referenced by DoubleRedirectJob\fixRedirects(), HTMLCacheUpdate\insertJobs(), HTMLCacheUpdate\insertJobsFromTitles(), FixDoubleRedirects\queueJobs(), LinksUpdate\queueRecursiveJobs(), and RefreshLinksJob2\run().

Here is the call graph for this function:

Here is the caller graph for this function:

static Job::extractBlob ( blob) [static]
Parameters:
$blob
Returns:
bool|mixed

Definition at line 232 of file JobQueue.php.

References $blob.

Referenced by pop(), and pop_type().

Here is the caller graph for this function:

static Job::factory ( command,
title,
params = false,
id = 0 
) [static]

Create the appropriate object to handle a specific job.

Parameters:
$commandString: Job command
$titleTitle: Associated title
$paramsArray: Job parameters
$idInt: Job identifier
Returns:
Job

Definition at line 207 of file JobQueue.php.

References $command, $id, $params, $title, and $wgJobClasses.

Referenced by pop(), pop_type(), and DoubleRedirectJob\run().

Here is the caller graph for this function:

Definition at line 410 of file JobQueue.php.

Insert a single job into the queue.

Returns:
bool true on success

Definition at line 330 of file JobQueue.php.

References $res, insertFields(), removeDuplicates(), wfGetDB(), and wfIncrStats().

Here is the call graph for this function:

Job::insertFields ( ) [protected]
Returns:
array

Definition at line 348 of file JobQueue.php.

References makeBlob(), and wfGetDB().

Referenced by insert(), and removeDuplicates().

Here is the call graph for this function:

Here is the caller graph for this function:

static Job::makeBlob ( params) [static]
Parameters:
$params
Returns:
string

Definition at line 220 of file JobQueue.php.

References $params.

Referenced by insertFields().

Here is the caller graph for this function:

static Job::pop ( offset = 0) [static]

Pop a job off the front of the queue.

Parameters:
$offsetInteger: Number of jobs to skip
Returns:
Job or false if there's no jobs

Definition at line 104 of file JobQueue.php.

References $dbr, $job, $options, $title, $wgJobTypesExcludedFromDefaultQueue, extractBlob(), factory(), Title\makeTitleSafe(), wfGetDB(), wfIncrStats(), wfProfileIn(), and wfProfileOut().

Referenced by UploadFromUrlTest\doAsyncUpload(), MediaWiki\doJobs(), RunJobs\execute(), UploadFromUrlTest\testClearQueue(), UploadFromUrlTest\testLeaveMessage(), UploadFromUrlTest\testSetupUrlDownload(), and UploadFromUrlTest\testSyncDownload().

Here is the call graph for this function:

Here is the caller graph for this function:

static Job::pop_type ( type) [static]

Pop a job of a certain type.

This tries less hard than pop() to actually find a job; it may be adversely affected by concurrent job runners.

Parameters:
$typestring
Returns:
Job

Definition at line 54 of file JobQueue.php.

References $job, $title, extractBlob(), factory(), Title\makeTitleSafe(), wfGetDB(), wfIncrStats(), and wfProfileOut().

Referenced by RunJobs\execute().

Here is the call graph for this function:

Here is the caller graph for this function:

Remove jobs in the job queue which are duplicates of this job.

This is deadlock-prone and so starts its own transaction.

Definition at line 364 of file JobQueue.php.

References insertFields(), wfGetDB(), and wfIncrStats().

Referenced by __construct(), and insert().

Here is the call graph for this function:

Here is the caller graph for this function:

Job::run ( ) [abstract]

Run the job.

Returns:
boolean success

Reimplemented in HTMLCacheUpdateJob, RefreshLinksJob2, DoubleRedirectJob, UploadFromUrlJob, RefreshLinksJob, EmaillingJob, and EnotifNotifyJob.

static Job::safeBatchInsert ( jobs) [static]

Insert a group of jobs into the queue.

Same as batchInsert() but does not commit and can thus be rolled-back as part of a larger transaction. However, large batches of jobs can cause slave lag.

Parameters:
$jobsarray of Job objects

Definition at line 286 of file JobQueue.php.

References $job, $rows, wfGetDB(), and wfIncrStats().

Here is the call graph for this function:

Job::setLastError ( error) [protected]

Definition at line 406 of file JobQueue.php.

References $error.

Referenced by DoubleRedirectJob\run().

Here is the caller graph for this function:

Returns:
string

Definition at line 384 of file JobQueue.php.


Member Data Documentation

Job::$command

Definition at line 25 of file JobQueue.php.

Referenced by __construct(), and factory().

Job::$error

Definition at line 25 of file JobQueue.php.

Referenced by setLastError().

Definition at line 25 of file JobQueue.php.


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