MediaWiki
1.34.0
RedisPubSubFeedEngine.php
Go to the documentation of this file.
1
<?php
40
class
RedisPubSubFeedEngine
extends
FormattedRCFeed
{
41
48
public
function
send
( array $feed,
$line
) {
49
$parsed =
wfParseUrl
( $feed[
'uri'
] );
50
$server = $parsed[
'host'
];
51
$options = [
'serializer'
=>
'none'
];
52
$channel =
'rc'
;
53
54
if
( isset( $parsed[
'port'
] ) ) {
55
$server .=
":{$parsed['port']}"
;
56
}
57
if
( isset( $parsed[
'query'
] ) ) {
58
parse_str( $parsed[
'query'
], $options );
59
}
60
if
( isset( $parsed[
'pass'
] ) ) {
61
$options[
'password'
] = $parsed[
'pass'
];
62
}
63
if
( isset( $parsed[
'path'
] ) ) {
64
$channel = str_replace(
'/'
,
'.'
, ltrim( $parsed[
'path'
],
'/'
) );
65
}
66
$pool =
RedisConnectionPool::singleton
( $options );
67
$conn = $pool->getConnection( $server );
68
if
( $conn !==
false
) {
69
$conn->publish( $channel,
$line
);
70
return
true
;
71
}
72
73
return
false
;
74
}
75
}
RedisConnectionPool\singleton
static singleton(array $options)
Definition:
RedisConnectionPool.php:146
RedisPubSubFeedEngine
Send recent change notifications via Redis Pub/Sub.
Definition:
RedisPubSubFeedEngine.php:40
RedisPubSubFeedEngine\send
send(array $feed, $line)
Definition:
RedisPubSubFeedEngine.php:48
wfParseUrl
wfParseUrl( $url)
parse_url() work-alike, but non-broken.
Definition:
GlobalFunctions.php:793
$line
$line
Definition:
cdb.php:59
FormattedRCFeed
Base class for RC feed engines that send messages in a freely configurable format to a uri-addressed ...
Definition:
FormattedRCFeed.php:26
includes
rcfeed
RedisPubSubFeedEngine.php
Generated on Thu Dec 19 2019 14:54:44 for MediaWiki by
1.8.16