Sha256: 22a3f13ad66ea97834bb5fbc9e4588c2411ea2fe5d0fe3c60116cc5b8eb8041b

Contents?: true

Size: 1.1 KB

Versions: 1

Compression:

Stored size: 1.1 KB

Contents

# encoding: utf-8

$:.unshift File.dirname(__FILE__) + '/../../lib'
require 'mq'
require 'pp'

EM.run do

  # connect to the amqp server
  connection = AMQP.connect(:host => 'localhost', :logging => false)

  # open a channel on the AMQP connection
  channel = MQ.new(connection)

  # declare a queue on the channel
  queue = MQ::Queue.new(channel, 'queue name')

  # create a fanout exchange
  exchange = MQ::Exchange.new(channel, :fanout, 'all queues')

  # bind the queue to the exchange
  queue.bind(exchange)

  # publish a message to the exchange
  exchange.publish('hello world')

  # subscribe to messages in the queue
  queue.subscribe do |headers, msg|
    pp [:got, headers, msg]
    connection.close { EM.stop_event_loop }
  end

end

__END__

[:got,
 #<AMQP::Protocol::Header:0x1186270
  @klass=AMQP::Protocol::Basic,
  @properties=
   {:priority => 0,
    :exchange => "all queues",
    :consumer_tag => "queue name",
    :delivery_tag => 1,
    :delivery_mode => 1,
    :redelivered => false,
    :content_type => "application/octet-stream",
    :routing_key => ""},
  @size=11,
  @weight=0>,
 "hello world"]

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
amqp-0.7.0 examples/mq/internal.rb