diff options
| author | Steve Kemp <steve@steve.org.uk> | 2013-05-14 13:39:56 +0100 | 
|---|---|---|
| committer | Steve Kemp <steve@steve.org.uk> | 2013-05-14 13:39:56 +0100 | 
| commit | 5873695bffc6429cd2a92d345a6ff513babc062e (patch) | |
| tree | 29b4363775aec961a1c7b766cef1b3516973ffd8 /lib/custodian | |
| parent | 9188cfc1fb664fb1488ab39361c4ba7511627658 (diff) | |
  Allow retry-behaviour to be tweaked.
  We can now sleep between retesting, and we configure the
 number of repeats via the configuration file.
Diffstat (limited to 'lib/custodian')
| -rw-r--r-- | lib/custodian/settings.rb | 20 | ||||
| -rw-r--r-- | lib/custodian/worker.rb | 20 | 
2 files changed, 39 insertions, 1 deletions
| diff --git a/lib/custodian/settings.rb b/lib/custodian/settings.rb index b37e9e4..34a54a6 100644 --- a/lib/custodian/settings.rb +++ b/lib/custodian/settings.rb @@ -90,6 +90,26 @@ module Custodian +    # +    # The number of times to re-execute a test before +    # considering it is failed. +    # +    def retries +      _load() unless( _loaded? ) + +      @settings['retries' ] || 5 +    end + + +    # +    #  Should we sleep before repeating tests? +    # +    def retry_delay +      _load() unless( _loaded? ) + +      @settings['retry_delay'] || 0 +    end +      #      # The beanstalkd server address diff --git a/lib/custodian/worker.rb b/lib/custodian/worker.rb index 0255134..432b3d4 100644 --- a/lib/custodian/worker.rb +++ b/lib/custodian/worker.rb @@ -54,6 +54,11 @@ module Custodian      #      attr_reader :retry_count +    # +    # Should we sleep between repeated tests? +    # +    attr_reader :retry_delay +      #      # The log-file object @@ -87,7 +92,10 @@ module Custodian        @settings = settings        # How many times to repeat a failing test -      @retry_count=5 +      @retry_count=@settings.retries() + +      # Should we sleep between repeated tests? +      @retry_delay = @settings.retry_delay()      end @@ -183,6 +191,16 @@ module Custodian              success = true            end            count += 1 + +          # +          #  Some of our routers don't like being hammered. +          # +          #  We delay before re-testing. +          # +          if ( @retry_delay > 0 ) +            puts "Sleeping for #{@retry_delay} seconds to allow cooldown" +            sleep( @retry_delay ) +          end          end          # | 
