diff options
author | Steve Kemp <steve@steve.org.uk> | 2015-01-19 12:27:15 +0000 |
---|---|---|
committer | Steve Kemp <steve@steve.org.uk> | 2015-01-19 12:27:15 +0000 |
commit | 9a05949ea4d669cb192d3e1d04984e27b82b0a69 (patch) | |
tree | 1e6dadcb8baf8531f38d82b5fb2c33486c73829c /bin/custodian-enqueue | |
parent | 7991f9a5ffc4d09209bf0431c188106a88cd8258 (diff) |
Updated to use our queue-abstraction.
This means we can queue/dequeue to either Redis or Beanstalkd.
Diffstat (limited to 'bin/custodian-enqueue')
-rwxr-xr-x | bin/custodian-enqueue | 34 |
1 files changed, 8 insertions, 26 deletions
diff --git a/bin/custodian-enqueue b/bin/custodian-enqueue index a6b9828..20654c1 100755 --- a/bin/custodian-enqueue +++ b/bin/custodian-enqueue @@ -1,7 +1,7 @@ #!/usr/bin/ruby -Ilib/ # # NAME -# custodian-enqueue - Parse tests from a file and enqueue to beanstalkd. +# custodian-enqueue - Parse tests from a file and enqueue them. # # SYNOPSIS # custodian-enqueue [ -h | --help ] @@ -19,8 +19,6 @@ # # -d, --dump Dump the parsed tests to the console; don't insert in the queue. # -# -q, --queue Use the named beanstalkd tube. -# # --test Test the parsing of the given file, alert on errors. # # -f, --file FILE Parse the given configuration file. @@ -29,17 +27,15 @@ # # ABOUT # -# This tool reads a single configuration file and parses it into a +# This tool reads a single configuration file and parses it into a # series of network & protocol tests. These tests are then stored in -# a beanstalkd queue. +# a queue from which workers can retrieve and execute them. # -# The intention is that the tests will be pulled from the queue and -# executed by the companion program custodian-dequeue. The dequeing -# process may occur up numerous other hosts +# The dequeing process may occur up numerous other hosts # # CONFIGURATION FILE # -# The configuration file is 99% compatible with that used in the tool +# The configuration file is 99% compatible with that used in the tool # custodian replaces. # # @@ -53,13 +49,13 @@ # # Standard modules # -require 'beanstalk-client' require 'getoptlong' # # Our code. # require 'custodian/parser' +require 'custodian/queue' require 'custodian/settings' @@ -77,7 +73,6 @@ if __FILE__ == $0 then # settings = Custodian::Settings.instance() $SERVER = settings.queue_server - $QUEUE = settings.queue_name begin opts = GetoptLong.new( @@ -86,7 +81,6 @@ if __FILE__ == $0 then [ "--server", GetoptLong::REQUIRED_ARGUMENT ], [ "--file", "-f", GetoptLong::REQUIRED_ARGUMENT ], [ "--help", "-h", GetoptLong::NO_ARGUMENT ], - [ "--queue", "-q", GetoptLong::REQUIRED_ARGUMENT ], [ "--manual","-m", GetoptLong::NO_ARGUMENT ] ) opts.each do |opt, arg| @@ -97,8 +91,6 @@ if __FILE__ == $0 then ENV["TEST"] = "1" when "--server" then $SERVER = arg - when "--queue" then - $QUEUE= arg when "--file" then ENV["FILE"] = arg when "--help" then @@ -146,7 +138,7 @@ if __FILE__ == $0 then # # Connected to the server # - queue = Beanstalk::Pool.new([$SERVER], $QUEUE ) + queue = Custodian::QueueType.create( "redis" ) if ( ! queue ) puts "Failed to connect to beanstalk server: #{$SERVER}" exit 1 @@ -178,17 +170,7 @@ if __FILE__ == $0 then elsif ( ENV['DUMP'] ) puts test else - - # priority of new job. - priority = 1000 - - # delay before putting into queue. - delay = 0 - - # time-to-remove: how long job.reserve() will live for. - ttr = 300 - - queue.put( test.to_s, priority, delay, ttr ) + queue.add( test.to_s ) end end |