From c1f9b1f7b1b77776192048005dcc66dcf3df2bfb Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Sat, 27 Dec 2014 15:41:37 +0100 Subject: Update to MediaWiki 1.24.1 --- includes/rcfeed/RedisPubSubFeedEngine.php | 62 +++++++++++++++++++++++-------- 1 file changed, 46 insertions(+), 16 deletions(-) (limited to 'includes/rcfeed/RedisPubSubFeedEngine.php') diff --git a/includes/rcfeed/RedisPubSubFeedEngine.php b/includes/rcfeed/RedisPubSubFeedEngine.php index 4bcc1337..b9023b6b 100644 --- a/includes/rcfeed/RedisPubSubFeedEngine.php +++ b/includes/rcfeed/RedisPubSubFeedEngine.php @@ -1,23 +1,48 @@ 'JSONRCFeedFormatter', + * 'uri' => "redis://127.0.0.1:6379/rc.$wgDBname", + * ); + * + * @since 1.22 + */ class RedisPubSubFeedEngine implements RCFeedEngine { + /** - * Emit a recent change notification via Redis Pub/Sub - * - * If the feed URI contains a path component, it will be used to generate a - * channel name by stripping the leading slash and replacing any remaining - * slashes with '.'. If no path component is present, the channel is set to - * 'rc'. If the URI contains a query string, its parameters will be parsed - * as RedisConnectionPool options. - * - * @example $wgRCFeeds['redis'] = array( - * 'formatter' => 'JSONRCFeedFormatter', - * 'uri' => "redis://127.0.0.1:6379/rc.$wgDBname", - * ); - * - * @since 1.22 + * @see RCFeedEngine::send */ public function send( array $feed, $line ) { - $parsed = parse_url( $feed['uri'] ); + $parsed = wfParseUrl( $feed['uri'] ); $server = $parsed['host']; $options = array( 'serializer' => 'none' ); $channel = 'rc'; @@ -36,6 +61,11 @@ class RedisPubSubFeedEngine implements RCFeedEngine { } $pool = RedisConnectionPool::singleton( $options ); $conn = $pool->getConnection( $server ); - $conn->publish( $channel, $line ); + if ( $conn !== false ) { + $conn->publish( $channel, $line ); + return true; + } else { + return false; + } } } -- cgit v1.2.3-54-g00ecf