MediaWiki  1.28.0
NullJob Class Reference

Degenerate job that does nothing, but can optionally replace itself in the queue and/or sleep for a brief time period. More...

Inheritance diagram for NullJob:
Collaboration diagram for NullJob:

Public Member Functions

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

Additional Inherited Members

- Static Public Member Functions inherited from Job
static batchInsert ($jobs)
 Batch-insert a group of jobs into the queue. More...
 
static factory ($command, Title $title, $params=[])
 Create the appropriate object to handle a specific job. More...
 
static newRootJobParams ($key)
 Get "root job" parameters for a task. More...
 
- Public Attributes inherited from Job
string $command
 
array $metadata = []
 Additional queue metadata. More...
 
array $params
 Array of job parameters. More...
 
- Protected Member Functions inherited from Job
 addTeardownCallback ($callback)
 
 setLastError ($error)
 
- Protected Attributes inherited from Job
string $error
 Text for error that occurred last. More...
 
bool $removeDuplicates
 Expensive jobs may set this to true. More...
 
callable[] $teardownCallbacks = []
 
Title $title
 

Detailed Description

Degenerate job that does nothing, but can optionally replace itself in the queue and/or sleep for a brief time period.

These can be used to represent "no-op" jobs or test lock contention and performance.

Example:
Inserting a null job in the configured job queue:
$ php maintenance/eval.php
> $job = new NullJob( Title::newMainPage(), [ 'lives' => 10 ] );
> $queue->push( $job );
You can then confirm the job has been enqueued by using the showJobs.php maintenance utility:
$ php maintenance/showJobs.php --group
null: 1 queue; 0 claimed (0 active, 0 abandoned)
$

Definition at line 47 of file NullJob.php.

Constructor & Destructor Documentation

NullJob::__construct ( Title  $title,
array  $params 
)
Parameters
Title$title
array$paramsJob parameters (lives, usleep)

Definition at line 52 of file NullJob.php.

Member Function Documentation

NullJob::run ( )

Definition at line 63 of file NullJob.php.

References $job, Job\$params, Job\$title, and JobQueueGroup\singleton().


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