$queue = JobQueueGroup::singleton(); * > $job = new NullJob( Title::newMainPage(), array( 'lives' => 10 ) ); * > $queue->push( $job ); * @endcode * You can then confirm the job has been enqueued by using the showJobs.php * maintenance utility: * @code * $ php maintenance/showJobs.php --group * null: 1 queue; 0 claimed (0 active, 0 abandoned) * $ * @endcode * * @ingroup JobQueue */ class NullJob extends Job { /** * @param Title $title * @param array $params Job parameters (lives, usleep) */ function __construct( $title, $params ) { parent::__construct( 'null', $title, $params ); if ( !isset( $this->params['lives'] ) ) { $this->params['lives'] = 1; } if ( !isset( $this->params['usleep'] ) ) { $this->params['usleep'] = 0; } $this->removeDuplicates = !empty( $this->params['removeDuplicates'] ); } public function run() { if ( $this->params['usleep'] > 0 ) { usleep( $this->params['usleep'] ); } if ( $this->params['lives'] > 1 ) { $params = $this->params; $params['lives']--; $job = new self( $this->title, $params ); JobQueueGroup::singleton()->push( $job ); } return true; } }