diff options
author | Steve Kemp <steve@steve.org.uk> | 2012-12-12 14:13:50 +0000 |
---|---|---|
committer | Steve Kemp <steve@steve.org.uk> | 2012-12-12 14:13:50 +0000 |
commit | e3d9a6ad6cb2c1463915d356172e5aeb92c4e26f (patch) | |
tree | 906b288a0ee1b735d6141d06036aae637b2c9882 /lib | |
parent | 7b79a3ef686fad23bd68a59ce5573699bb059adc (diff) |
The dequeuing process passes the settings to the wroker.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/custodian/worker.rb | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/lib/custodian/worker.rb b/lib/custodian/worker.rb index 936c44b..11aa0e6 100644 --- a/lib/custodian/worker.rb +++ b/lib/custodian/worker.rb @@ -61,12 +61,18 @@ module Custodian attr_reader :logger + # + # The settings from the global configuration file + # + attr_reader :settings + + # # Constructor: Connect to the queue # - def initialize( server, alerter, logfile ) + def initialize( server, alerter, logfile, settings ) # Connect to the queue @queue = Beanstalk::Pool.new([server], "Custodian" ) @@ -77,6 +83,9 @@ module Custodian # Instantiate the logger. @logger = Logger.new( logfile, "daily" ) + # Save the settings + @settings = settings + # How many times to repeat a failing test @retry_count=5 @@ -214,10 +223,13 @@ module Custodian log_message( "Creating alerter: #{alerter}" ) alert = Custodian::AlertFactory.create( alerter, test ) - target = Custodian::Settings.instance().alerter_target( alerter ) + target = @settings.alerter_target( alerter ) + alert.set_target( target ) puts "Target for alert is #{target}" - alert.set_target( target ) + # give the alerter a reference to the settings object. + alert.set_settings( @settings ) + alert.raise() end end @@ -229,12 +241,15 @@ module Custodian def do_clear( test ) @alerter.split( "," ).each do |alerter| log_message( "Creating alerter: #{alerter}" ) - alert = Custodian::AlertFactory.create( alerter, test ) + alert = Custodian::AlertFactory.create( alerter, test ) - target = Custodian::Settings.instance().alerter_target( alerter ) + target = @settings.alerter_target( alerter ) + alert.set_target( target ) puts "Target for alert is #{target}" - alert.set_target( target ) + # give the alerter a reference to the settings object. + alert.set_settings( @settings ) + alert.clear() end end |