From a759746409ad3a39ccb53aecd7ac51db471c2651 Mon Sep 17 00:00:00 2001 From: Aaron Schulz Date: Tue, 3 Jun 2014 13:53:17 -0700 Subject: [PATCH] Track the types of queues in the redis queue aggregator * This tracks all queue types in one simple location that can be inspected without using MediaWiki. Change-Id: I197664b9aa620b29f1400e5a60c55a301348120d --- .../jobqueue/aggregator/JobQueueAggregatorRedis.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/includes/jobqueue/aggregator/JobQueueAggregatorRedis.php b/includes/jobqueue/aggregator/JobQueueAggregatorRedis.php index 2aec3c9cf4..896aac4299 100644 --- a/includes/jobqueue/aggregator/JobQueueAggregatorRedis.php +++ b/includes/jobqueue/aggregator/JobQueueAggregatorRedis.php @@ -75,7 +75,10 @@ class JobQueueAggregatorRedis extends JobQueueAggregator { return false; } try { + $conn->multi( Redis::PIPELINE ); + $conn->hSetNx( $this->getQueueTypesKey(), $type, 'enabled' ); $conn->hSet( $this->getReadyQueueKey(), $this->encQueueName( $type, $wiki ), time() ); + $conn->exec(); return true; } catch ( RedisException $e ) { @@ -185,6 +188,13 @@ class JobQueueAggregatorRedis extends JobQueueAggregator { return "jobqueue:aggregator:h-ready-queues:v1"; // global } + /** + * @return string + */ + private function getQueueTypesKey() { + return "jobqueue:aggregator:h-queue-types:v1"; // global + } + /** * @param string $type * @param string $wiki -- 2.20.1