From: Aaron Schulz Date: Tue, 3 Jun 2014 20:53:17 +0000 (-0700) Subject: Track the types of queues in the redis queue aggregator X-Git-Tag: 1.31.0-rc.0~15470 X-Git-Url: http://git.cyclocoop.org/%7B%24www_url%7Dadmin/compta/exercices/modifier.php?a=commitdiff_plain;h=a759746409ad3a39ccb53aecd7ac51db471c2651;p=lhc%2Fweb%2Fwiklou.git 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 --- 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