Sha256: 7ee9e3cdc65f64c7470e3b58347c76254329ecacb92ce9f5dd5a915df19074d9

Contents?: true

Size: 733 Bytes

Versions: 2

Compression:

Stored size: 733 Bytes

Contents

#!/usr/bin/env ruby
# encoding: utf-8

require "rubygems"
require "amqp"

AMQP.start("amqp://guest:guest@dev.rabbitmq.com:5672/") do |connection, open_ok|
  AMQP::Channel.new do |channel, open_ok|
    exchange = channel.fanout("amq.fanout")

    channel.queue("", :auto_delete => true, :exclusive => true) do |queue, declare_ok|
      queue.bind(exchange).subscribe do |headers, payload|
        puts "Received a new message"
      end

      EventMachine.add_timer(0.3) do
        puts "Timer tick"
        queue.unsubscribe do |_|
          puts "Unsubscribed. Shutting down..."

          connection.close {
            EM.stop { exit }
          }
        end
      end # EventMachine.add_timer
    end # channel.queue
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
amqp-0.8.0.rc5 examples/guides/queues/09_unsubscribing_a_consumer.rb
amqp-0.8.0.rc4 examples/guides/queues/09_unsubscribing_a_consumer.rb