diff options
Diffstat (limited to 'bin/custodian-queue')
| -rwxr-xr-x | bin/custodian-queue | 21 | 
1 files changed, 11 insertions, 10 deletions
| diff --git a/bin/custodian-queue b/bin/custodian-queue index 6298f88..2144b09 100755 --- a/bin/custodian-queue +++ b/bin/custodian-queue @@ -61,7 +61,7 @@ if __FILE__ == $0 then    $STATS   = false    $help    = false    $manual  = false -  $MONITOR = false +  $MONITOR = nil    #    #  The beanstalkd server address. @@ -74,14 +74,18 @@ if __FILE__ == $0 then                            [ "--flush",   "-f", GetoptLong::NO_ARGUMENT ],                            [ "--help",    "-h", GetoptLong::NO_ARGUMENT ],                            [ "--manual",  "-m", GetoptLong::NO_ARGUMENT ], -                          [ "--monitor", "-M", GetoptLong::NO_ARGUMENT ], +                          [ "--monitor", "-M", GetoptLong::OPTIONAL_ARGUMENT ],                            [ "--server",  "-S", GetoptLong::REQUIRED_ARGUMENT ],                            [ "--stats",   "-s", GetoptLong::NO_ARGUMENT ]                            )      opts.each do |opt, arg|        case opt        when "--monitor" then -          $MONITOR = true +          if ( arg ) +              $MONITOR = arg.to_i +          else +              $MONITOR = 5000 +          end        when "--stats" then            $STATS = true        when "--flush" then @@ -136,7 +140,7 @@ if __FILE__ == $0 then    #    # Alerting on a queue that is too-full?    # -  if ( $MONITOR ) +  if ( !$MONITOR.nil? )      #      # Find the number of jobs @@ -144,14 +148,11 @@ if __FILE__ == $0 then      stats = queue.stats()      jobs  = stats['current-jobs-ready'] || 0 -    max = 5000 - -    if ( jobs > max ) -      system( "mauvesend alert.bytemark.co.uk -i custodian -r now -s \"Our queue has #{jobs} [alert-threshold is: #{max}]  in it\" --detail=\"<p>The custodian queue doesn't seem to be emptying.  Is there a bug, or do we need to add more workers?  See https://wiki.bytemark.co.uk/Main/CustodianMonitoring</p>\" " ) +    if ( jobs > $MONITOR ) +        exit 1      else -      system( "mauvesend alert.bytemark.co.uk -i custodian -c now -s \"Our queue has #{jobs} [alert-threshold is: #{max} in it\" --detail=\"<p>The custodian queue doesn't seem to be emptying.  Is there a bug, or do we need to add more workers? See https://wiki.bytemark.co.uk/Main/CustodianMonitoring</p>\" " ) +        exit 0      end -    exit( 0 )    end | 
