diff options
| author | Steve Kemp <steve@steve.org.uk> | 2012-11-21 14:05:53 +0000 | 
|---|---|---|
| committer | Steve Kemp <steve@steve.org.uk> | 2012-11-21 14:05:53 +0000 | 
| commit | 2150107a82e9d4d2adb583c8656d0002ebdad18e (patch) | |
| tree | b380d171d3e4e34f833296661c2f8b714ae3c0e7 /bin/custodian-enqueue | |
| parent | be5ffc73fc004b3d13a2510c07113c6a7f419931 (diff) | |
  Decouple the enqueuing from the parsing.
Diffstat (limited to 'bin/custodian-enqueue')
| -rwxr-xr-x | bin/custodian-enqueue | 32 | 
1 files changed, 29 insertions, 3 deletions
| diff --git a/bin/custodian-enqueue b/bin/custodian-enqueue index 23df794..c9d9232 100755 --- a/bin/custodian-enqueue +++ b/bin/custodian-enqueue @@ -50,9 +50,11 @@  # -#  Implementation of our parser. +#  Modules we require  # +require 'beanstalk-client'  require 'custodian/parser' +require 'getoptlong' @@ -63,11 +65,13 @@ if __FILE__ == $0 then    $help   = false    $manual = false +  $SERVER = "127.0.0.1:11300"    begin      opts = GetoptLong.new(                            [ "--dump",  "-d", GetoptLong::NO_ARGUMENT ],                            [ "--test",   GetoptLong::NO_ARGUMENT ], +                          [ "--server",   GetoptLong::REQUIRED_ARGUMENT ],                            [ "--file",  "-f", GetoptLong::REQUIRED_ARGUMENT ],                            [ "--help",  "-h", GetoptLong::NO_ARGUMENT ],                            [ "--manual","-m", GetoptLong::NO_ARGUMENT ], @@ -79,6 +83,8 @@ if __FILE__ == $0 then            ENV["DUMP"] = "1"        when "--test" then            ENV["TEST"] = "1" +      when "--server" then +          $SERVER = arg        when "--file" then            ENV["FILE"] = arg        when "--timeout" then @@ -126,6 +132,16 @@ if __FILE__ == $0 then    # +  # Connected to the server +  # +  queue = Beanstalk::Pool.new([$SERVER]) +  if ( ! queue ) +    puts "Failed to connect to beanstalk server: #{$SERVER}" +    exit 1 +  end + + +  #    # Create the parser    #    mon = MonitorConfig.new( ENV['FILE'] ) @@ -138,9 +154,19 @@ if __FILE__ == $0 then    end    # -  # Run +  # Run the parser - and get callbacks when a new job is added.    # -  mon.parse_file() +  mon.parse_file do |test| + +    if ( ENV['TEST'] ) +      # nop +    elsif ( ENV['DUMP'] ) +      puts test.to_json +    else +      queue.put( test.to_json ) +    end +  end +    #    # If there were errors then we'll not get this far. | 
