class SimpleRabbit::ConsumerWorker
Public Class Methods
run(queue_name, &block)
click to toggle source
# File lib/simple_rabbit/consumer_worker.rb, line 5 def self.run(queue_name, &block) raise ConnectionNotEstablished unless $simplerabbit_connection queue = $simplerabbit_channel.queue(queue_name, durable: true) begin puts " [*] Waiting for messages. To exit press CTRL+C" queue.subscribe(block: true, manual_ack: true) do |delivery_info, properties, body| begin block.call(body) $simplerabbit_channel.ack(delivery_info.delivery_tag) rescue => e puts "\n\n#{e.message}\n\n#{e.backtrace.join("\n")}\n\n" end end rescue Interrupt => _ exit(0) end end