58 public function send( array $feed, $line ) {
60 $server = $parsed[
'host'];
61 $options = [
'serializer' =>
'none' ];
64 if ( isset( $parsed[
'port'] ) ) {
65 $server .=
":{$parsed['port']}";
67 if ( isset( $parsed[
'query'] ) ) {
68 parse_str( $parsed[
'query'], $options );
70 if ( isset( $parsed[
'pass'] ) ) {
71 $options[
'password'] = $parsed[
'pass'];
73 if ( isset( $parsed[
'path'] ) ) {
74 $channel = str_replace(
'/',
'.', ltrim( $parsed[
'path'],
'/' ) );
76 $pool = RedisConnectionPool::singleton( $options );
77 $conn = $pool->getConnection( $server );
78 if ( $conn !==
false ) {
79 $conn->publish( $channel, $line );
87class_alias( RedisPubSubFeedEngine::class,
'RedisPubSubFeedEngine' );
wfParseUrl( $url)
parse_url() work-alike, but non-broken.
Helper class to manage Redis connections.