Sha256: 9d840c6f191c8ca4bbd50373b7c6c6f3ef608f4f46f37e42e71af720addedc19

Contents?: true

Size: 770 Bytes

Versions: 1

Compression:

Stored size: 770 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.start 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

1 entries across 1 versions & 1 rubygems

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