Sha256: 390e2750f67567fa89483d6c35c380091ccd78c8fdc37e17732014435767a070

Contents?: true

Size: 1.08 KB

Versions: 11

Compression:

Stored size: 1.08 KB

Contents

#
# Example : files_to_q : Place all files in a directory to a queue
#          Each file is written as a separate message
#
require 'rubygems'
require 'find'
require 'yaml'
require 'wmq'

# Call program passing environment name as first parameter
#   The environment corresponds to an entry in the config file
env = ARGV[0] || raise("Command line argument 'environment' is required")
config = YAML::load_file('files_to_q.cfg')[env]

message = WMQ::Message.new
message.descriptor = config['descriptor'] || {}
tstart = Time.now
counter = 0
WMQ::QueueManager.connect(config['qmgr_options']) do |qmgr|
  qmgr.open_queue({:mode=>:output}.merge(config['output_queue'])) do |queue|
    Find.find(config['source_directory']) do |path|
      unless FileTest.directory?(path)
        printf("%5d: #{path}\n",counter = counter + 1)
        message.data = File.read(path)
        queue.put({:message => message}.merge(config['put_options']))
      end
    end
  end
end
duration = Time.now - tstart
printf "Processed #{counter} messages in %.3f seconds. Average: %.3f messages/second\n", duration, counter/duration

Version data entries

11 entries across 11 versions & 3 rubygems

Version Path
ferocia-rubywmq-2.0.7 examples/files_to_q.rb
ferocia-rubywmq-2.0.6 examples/files_to_q.rb
ferocia-rubywmq-2.0.4 examples/files_to_q.rb
ferocia-rubywmq-2.0.3 examples/files_to_q.rb
ferocia-rubywmq-2.0.2 examples/files_to_q.rb
ekaranto-rubywmq-2.0.2 examples/files_to_q.rb
rubywmq-2.0.2 examples/files_to_q.rb
rubywmq-2.0.1 examples/files_to_q.rb
ekaranto-rubywmq-2.0.0 examples/files_to_q.rb
rubywmq-2.0.0 examples/files_to_q.rb
rubywmq-2.0.0.pre3 examples/files_to_q.rb