main
 1#!/env ruby
 2# encoding: utf-8
 3
 4require "bunny"
 5
 6connection = Bunny.new
 7connection.start
 8
 9channel = connection.create_channel
10queue = channel.queue("task_queue", durable: true)
11
12channel.prefetch(1)
13puts " [*] Waiting for messages in #{queue.name}. To exit press CTRL+C"
14
15begin
16  queue.subscribe(manual_ack: true, block: true) do |delivery_info, properties, body|
17    puts " [x] Received #{body}"
18    sleep body.count(".").to_i
19    puts " [x] Done"
20    channel.ack(delivery_info.delivery_tag)
21  end
22rescue Interrupt => _
23  connection.close
24end