Commit ee3341f
Changed files (2)
lib
example2
lib/example2/receive.rb
@@ -9,10 +9,16 @@ connection.start
channel = connection.create_channel
queue = channel.queue("task_queue", durable: true)
+channel.prefetch(1)
puts " [*] Waiting for messages in #{queue.name}. To exit press CTRL+C"
-queue.subscribe(manual_ack: true, block: true) do |delivery_info, properties, body|
- puts " [x] Received #{body}"
- sleep body.count(".").to_i
- puts " [x] Done"
- channel.ack(delivery_info.delivery_tag)
+
+begin
+ queue.subscribe(manual_ack: true, block: true) do |delivery_info, properties, body|
+ puts " [x] Received #{body}"
+ sleep body.count(".").to_i
+ puts " [x] Done"
+ channel.ack(delivery_info.delivery_tag)
+ end
+rescue Interrupt => _
+ connection.close
end
lib/example2/send.rb
@@ -12,4 +12,5 @@ queue = channel.queue("task_queue", durable: true)
message = ARGV.empty? ? "Hello World!" : ARGV.join(" ")
queue.publish(message, persistent: true)
puts " [x] Sent #{message}"
+sleep 1.0
connection.close