Method: Pgq::Worker#initialize
- Defined in:
- lib/pgq/worker.rb
#initialize(h) ⇒ Worker
Returns a new instance of Worker.
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/pgq/worker.rb', line 28 def initialize(h) @logger = h[:logger] || (defined?(Rails) && Rails.logger) || Logger.new(STDOUT) @consumers = [] @queues = h[:queues] raise "Queue not selected" if @queues.blank? if @queues == ['all'] || @queues == 'all' if h[:queues_list] @queues = YAML.load_file(h[:queues_list]) elsif defined?(Rails) && File.exists?(Rails.root + "config/queues_list.yml") @queues = YAML.load_file(Rails.root + "config/queues_list.yml") else raise "You shoud create config/queues_list.yml for all queues" end end @queues = @queues.split(',') if @queues.is_a?(String) @queues.each do |queue| klass = Pgq::Worker.predict_queue_class(queue) if klass @consumers << klass.new(@logger, queue) else raise "Unknown queue: #{queue}" end end @watch_file = h[:watch_file] @sleep_time = h[:sleep_time] || 0.5 end |