From e2cac9d977183ad4a441d3d8a70636b74fa520a5 Mon Sep 17 00:00:00 2001 From: Aaron Schulz Date: Tue, 30 Oct 2012 17:25:36 -0700 Subject: [PATCH] [JobQueue] Added a test job that just replaces itself. Change-Id: I257d68099660a9c95e68f7662ae8d5cf1ebefe27 --- includes/AutoLoader.php | 1 + includes/DefaultSettings.php | 13 ++++---- includes/job/jobs/NullJob.php | 58 +++++++++++++++++++++++++++++++++++ 3 files changed, 66 insertions(+), 6 deletions(-) create mode 100644 includes/job/jobs/NullJob.php diff --git a/includes/AutoLoader.php b/includes/AutoLoader.php index 0cd81c33fd..5da18b6850 100644 --- a/includes/AutoLoader.php +++ b/includes/AutoLoader.php @@ -656,6 +656,7 @@ $wgAutoloadLocalClasses = array( 'EmaillingJob' => 'includes/job/jobs/EmaillingJob.php', 'EnotifNotifyJob' => 'includes/job/jobs/EnotifNotifyJob.php', 'HTMLCacheUpdateJob' => 'includes/job/jobs/HTMLCacheUpdateJob.php', + 'NullJob' => 'includes/job/jobs/NullJob.php', 'RefreshLinksJob' => 'includes/job/jobs/RefreshLinksJob.php', 'RefreshLinksJob2' => 'includes/job/jobs/RefreshLinksJob.php', 'UploadFromUrlJob' => 'includes/job/jobs/UploadFromUrlJob.php', diff --git a/includes/DefaultSettings.php b/includes/DefaultSettings.php index 6cdacc1208..a06724beb3 100644 --- a/includes/DefaultSettings.php +++ b/includes/DefaultSettings.php @@ -5414,14 +5414,15 @@ $wgHooks = array(); * can add to this to provide custom jobs */ $wgJobClasses = array( - 'refreshLinks' => 'RefreshLinksJob', - 'refreshLinks2' => 'RefreshLinksJob2', - 'htmlCacheUpdate' => 'HTMLCacheUpdateJob', + 'refreshLinks' => 'RefreshLinksJob', + 'refreshLinks2' => 'RefreshLinksJob2', + 'htmlCacheUpdate' => 'HTMLCacheUpdateJob', 'html_cache_update' => 'HTMLCacheUpdateJob', // backwards-compatible - 'sendMail' => 'EmaillingJob', - 'enotifNotify' => 'EnotifNotifyJob', + 'sendMail' => 'EmaillingJob', + 'enotifNotify' => 'EnotifNotifyJob', 'fixDoubleRedirect' => 'DoubleRedirectJob', - 'uploadFromUrl' => 'UploadFromUrlJob', + 'uploadFromUrl' => 'UploadFromUrlJob', + 'null' => 'NullJob' ); /** diff --git a/includes/job/jobs/NullJob.php b/includes/job/jobs/NullJob.php new file mode 100644 index 0000000000..eef3bf7888 --- /dev/null +++ b/includes/job/jobs/NullJob.php @@ -0,0 +1,58 @@ +params['lives'] ) ) { + $this->params['lives'] = 1; + } + if ( !isset( $this->params['usleep'] ) ) { + $this->params['usleep'] = 0; + } + } + + 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 ); + $job->insert(); + } + return true; + } +} -- 2.20.1