1
1
using ServiceStack ;
2
+ using ServiceStack . Logging ;
2
3
using ServiceStack . Redis ;
3
4
using System ;
4
5
using System . Collections . Generic ;
@@ -12,6 +13,8 @@ namespace ServiceStack.Redis
12
13
{
13
14
internal class RedisSentinelWorker : IDisposable
14
15
{
16
+ protected static readonly ILog Log = LogManager . GetLogger ( typeof ( RedisSentinelWorker ) ) ;
17
+
15
18
private RedisClient sentinelClient ;
16
19
private RedisClient sentinelPubSubClient ;
17
20
private PooledRedisClientManager clientsManager ;
@@ -29,6 +32,8 @@ public RedisSentinelWorker(string host, string sentinelName, PooledRedisClientMa
29
32
this . sentinelSubscription = this . sentinelPubSubClient . CreateSubscription ( ) ;
30
33
this . sentinelSubscription . OnMessage = SentinelMessageReceived ;
31
34
this . clientsManager = clientsManager ;
35
+
36
+ Log . Info ( "Set up Redis Sentinel on {0}" . Fmt ( host ) ) ;
32
37
}
33
38
34
39
private void SubscribeForChanges ( object arg )
@@ -40,6 +45,7 @@ private void SubscribeForChanges(object arg)
40
45
}
41
46
catch ( Exception )
42
47
{
48
+ Log . Error ( "Problem Subscribing to Redis Channel on {0}:{1}" . Fmt ( this . sentinelClient . Host , this . sentinelClient . Port ) ) ;
43
49
// problem communicating to sentinel
44
50
if ( SentinelError != null )
45
51
{
@@ -55,11 +61,11 @@ private void SubscribeForChanges(object arg)
55
61
/// <param name="message"></param>
56
62
private void SentinelMessageReceived ( string channel , string message )
57
63
{
58
- Debug . WriteLine ( "{0} - {1}" . Fmt ( channel , message ) ) ;
59
-
60
64
// {+|-}sdown is the event for server coming up or down
61
65
if ( channel . ToLower ( ) . Contains ( "sdown" ) )
62
66
{
67
+ Log . Info ( "Sentinel detected server down/up with message:{0}" . Fmt ( message ) ) ;
68
+
63
69
ConfigureRedisFromSentinel ( ) ;
64
70
}
65
71
}
@@ -69,6 +75,8 @@ private void SentinelMessageReceived(string channel, string message)
69
75
/// </summary>
70
76
private void ConfigureRedisFromSentinel ( )
71
77
{
78
+ Log . Info ( "Configuring Redis Clients" ) ;
79
+
72
80
var masters = ConvertMasterArrayToList ( this . sentinelClient . Sentinel ( "master" , this . sentinelName ) ) ;
73
81
var slaves = ConvertSlaveArrayToList ( this . sentinelClient . Sentinel ( "slaves" , this . sentinelName ) ) ;
74
82
0 commit comments