diff options
author | Steve Kemp <steve@steve.org.uk> | 2012-11-26 15:05:18 +0000 |
---|---|---|
committer | Steve Kemp <steve@steve.org.uk> | 2012-11-26 15:05:18 +0000 |
commit | 03cc30a210f6442060facfa0808077e04176f76b (patch) | |
tree | 4b68e6e84d26ad4bd2e3e5f1ac16f23ddf97720c | |
parent | e1eb1603dbc13ca74fb197f36c5b6a68f61419eb (diff) |
Don't attempt to raise/clear with redis/mauve unless they were loaded.
-rw-r--r-- | lib/custodian/alerts/mauve.rb | 14 | ||||
-rw-r--r-- | lib/custodian/alerts/redis-state.rb | 37 |
2 files changed, 34 insertions, 17 deletions
diff --git a/lib/custodian/alerts/mauve.rb b/lib/custodian/alerts/mauve.rb index 37ed539..417a1f2 100644 --- a/lib/custodian/alerts/mauve.rb +++ b/lib/custodian/alerts/mauve.rb @@ -29,6 +29,11 @@ module Custodian # attr_reader :test + # + # Was this class loaded correctly? + # + attr_reader :loaded + @@ -41,8 +46,10 @@ module Custodian begin require 'mauve/sender' require 'mauve/proto' - rescue LoadError - raise "ERROR Loading mauvealert libraries!" + @loaded = true + rescue + puts "ERROR Loading mauve libraries!" + @loaded = false end end @@ -54,6 +61,7 @@ module Custodian # def raise() + return unless( @loaded ) # # Get ready to send to mauve. @@ -88,6 +96,8 @@ module Custodian # def clear + return unless( @loaded ) + # # Get ready to send to mauve. # diff --git a/lib/custodian/alerts/redis-state.rb b/lib/custodian/alerts/redis-state.rb index b2243f7..38b592e 100644 --- a/lib/custodian/alerts/redis-state.rb +++ b/lib/custodian/alerts/redis-state.rb @@ -14,35 +14,38 @@ module Custodian class RedisAlert < AlertFactory + # # The test this alerter cares about # attr_reader :test + # # The redis-object # attr_reader :redis - attr_reader :available + + # # Constructor - save the test-object away & instantiate # the redis connection. # def initialize( obj ) - @available = true - - begin - require 'rubygems' - require 'redis' - rescue - puts "LOADING redis failed" - @available = false - end - - @test = obj - @redis = Redis.new( ) if ( @available ) + + begin + require 'rubygems' + require 'redis' + + @redis = Redis.new() + + rescue + puts "ERROR Loading redis rubygem!" + end + + @test = obj end @@ -51,7 +54,9 @@ module Custodian # Store an alert in redis # def raise - return if ( ! @available ) + + return unless( @redis ) + # hostname + test-type host = @test.target @@ -71,7 +76,9 @@ module Custodian # Clear an alert in redis # def clear - return if ( ! @available ) + + return unless( @redis ) + # hostname + test-type host = @test.target |