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