From b480ec335310af417458f4ab489e17ecf29f066a Mon Sep 17 00:00:00 2001 From: Aaron Schulz Date: Wed, 11 Mar 2015 11:12:50 -0700 Subject: [PATCH] Made JobQueueFederated no longer need "checkDelay" for delaying This reverts commit b9fd0f311c292424fd49d7bff550f67e94a62bc4. Change-Id: Ibff28591c268689d593cb56a58e0b33c22292eba --- includes/jobqueue/JobQueue.php | 29 +++++++++-------------------- includes/jobqueue/JobQueueRedis.php | 1 - 2 files changed, 9 insertions(+), 21 deletions(-) diff --git a/includes/jobqueue/JobQueue.php b/includes/jobqueue/JobQueue.php index 1a730d3049..f4fe9133e9 100644 --- a/includes/jobqueue/JobQueue.php +++ b/includes/jobqueue/JobQueue.php @@ -44,9 +44,6 @@ abstract class JobQueue { /** @var int Maximum number of times to try a job */ protected $maxTries; - /** @var bool Allow delayed jobs */ - protected $checkDelay; - /** @var BagOStuff */ protected $dupCache; /** @var JobQueueAggregator */ @@ -73,10 +70,6 @@ abstract class JobQueue { if ( !in_array( $this->order, $this->supportedOrders() ) ) { throw new MWException( __CLASS__ . " does not support '{$this->order}' order." ); } - $this->checkDelay = !empty( $params['checkDelay'] ); - if ( $this->checkDelay && !$this->supportsDelayedJobs() ) { - throw new MWException( __CLASS__ . " does not support delayed jobs." ); - } $this->dupCache = wfGetCache( CACHE_ANYTHING ); $this->aggr = isset( $params['aggregator'] ) ? $params['aggregator'] @@ -103,10 +96,6 @@ abstract class JobQueue { * but not acknowledged as completed after this many seconds. Recycling * of jobs simple means re-inserting them into the queue. Jobs can be * attempted up to three times before being discarded. - * - checkDelay : If supported, respect Job::getReleaseTimestamp() in the push functions. - * This lets delayed jobs wait in a staging area until a given timestamp is - * reached, at which point they will enter the queue. If this is not enabled - * or not supported, an exception will be thrown on delayed job insertion. * * Queue classes should throw an exception if they do not support the options given. * @@ -148,14 +137,6 @@ abstract class JobQueue { return $this->order; } - /** - * @return bool Whether delayed jobs are enabled - * @since 1.22 - */ - final public function delayedJobsEnabled() { - return $this->checkDelay; - } - /** * Get the allowed queue orders for configuration validation * @@ -179,6 +160,14 @@ abstract class JobQueue { return false; // not implemented } + /** + * @return bool Whether delayed jobs are enabled + * @since 1.22 + */ + final public function delayedJobsEnabled() { + return $this->supportsDelayedJobs(); + } + /** * Quickly check if the queue has no available (unacquired, non-delayed) jobs. * Queue classes should use caching if they are any slower without memcached. @@ -326,7 +315,7 @@ abstract class JobQueue { if ( $job->getType() !== $this->type ) { throw new MWException( "Got '{$job->getType()}' job; expected a '{$this->type}' job." ); - } elseif ( $job->getReleaseTimestamp() && !$this->checkDelay ) { + } elseif ( $job->getReleaseTimestamp() && !$this->supportsDelayedJobs() ) { throw new MWException( "Got delayed '{$job->getType()}' job; delays are not supported." ); } diff --git a/includes/jobqueue/JobQueueRedis.php b/includes/jobqueue/JobQueueRedis.php index 243fec9070..d9fe30b110 100644 --- a/includes/jobqueue/JobQueueRedis.php +++ b/includes/jobqueue/JobQueueRedis.php @@ -93,7 +93,6 @@ class JobQueueRedis extends JobQueue { "Non-daemonized mode is no longer supported. Please install the " . "mediawiki/services/jobrunner service and update \$wgJobTypeConf as needed." ); } - $this->checkDelay = true; // always enabled } protected function supportedOrders() { -- 2.20.1