From: Aaron Schulz Date: Tue, 10 Mar 2015 22:13:18 +0000 (-0700) Subject: Made JobQueueFederated no longer need "checkDelay" for delaying X-Git-Tag: 1.31.0-rc.0~12142 X-Git-Url: http://git.cyclocoop.org/%24self?a=commitdiff_plain;h=c8f96384aad312e52969b81dd8ce6b8d80c3857a;p=lhc%2Fweb%2Fwiklou.git Made JobQueueFederated no longer need "checkDelay" for delaying * Cleaned up the weird logic for checking if delays are supported Change-Id: I3a1a78bb48b4950b76f445bf8c27b5868d3dc89c --- diff --git a/includes/jobqueue/JobQueue.php b/includes/jobqueue/JobQueue.php index 1a730d3049..04929549f6 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 * @@ -326,7 +307,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() {