Sha256: 41de0ed21acc0fa5122568e3a3b5e6e5776d2d829f37e745ebce206b3e66881f

Contents?: true

Size: 1.09 KB

Versions: 21

Compression:

Stored size: 1.09 KB

Contents

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

Signal.trap('INT') { AMQP.stop{ EM.stop } }
Signal.trap('TERM'){ AMQP.stop{ EM.stop } }

AMQP.start do
  queue = MQ.queue('awesome')

  queue.publish('Totally rad 1')
  queue.publish('Totally rad 2')
  EM.add_timer(5){ queue.publish('Totally rad 3') }

  queue.pop{ |msg|
    unless msg
      # queue was empty
      p [Time.now, :queue_empty!]

      # try again in 1 second
      EM.add_timer(1){ queue.pop }
    else
      # process this message
      p [Time.now, msg]

      # get the next message in the queue
      queue.pop
    end
  }
end

__END__

[Wed Oct 15 15:24:30 -0700 2008, "Totally rad 1"]
[Wed Oct 15 15:24:30 -0700 2008, "Totally rad 2"]
[Wed Oct 15 15:24:30 -0700 2008, :queue_empty!]
[Wed Oct 15 15:24:31 -0700 2008, :queue_empty!]
[Wed Oct 15 15:24:32 -0700 2008, :queue_empty!]
[Wed Oct 15 15:24:33 -0700 2008, :queue_empty!]
[Wed Oct 15 15:24:34 -0700 2008, :queue_empty!]
[Wed Oct 15 15:24:35 -0700 2008, "Totally rad 3"]
[Wed Oct 15 15:24:35 -0700 2008, :queue_empty!]
[Wed Oct 15 15:24:36 -0700 2008, :queue_empty!]

Version data entries

21 entries across 21 versions & 6 rubygems

Version Path
adamh-amqp-0.6.3.1 examples/mq/pop.rb
brontes3d-amqp-0.6.4.0 examples/mq/pop.rb
brontes3d-amqp-0.6.4.1 examples/mq/pop.rb
brontes3d-amqp-0.6.4.2 examples/mq/pop.rb
brontes3d-amqp-0.6.4.3 examples/mq/pop.rb
brontes3d-amqp-0.6.4 examples/mq/pop.rb
fotonauts-amqp-0.6.1 examples/mq/pop.rb
fotonauts-amqp-0.6.4 examples/mq/pop.rb
tmm1-amqp-0.6.0 examples/mq/simple-get.rb
tmm1-amqp-0.6.1 examples/mq/pop.rb
tmm1-amqp-0.6.3 examples/mq/pop.rb
tmm1-amqp-0.6.4 examples/mq/pop.rb
amqp-0.7.0.pre examples/mq/pop.rb
totty-amqp-0.6.7.1 examples/mq/pop.rb
totty-amqp-0.6.7.1.totty examples/mq/pop.rb
brontes3d-amqp-0.6.7.1 examples/mq/pop.rb
amqp-0.6.7 examples/mq/pop.rb
amqp-0.6.6 examples/mq/pop.rb
amqp-0.6.5 examples/mq/pop.rb
amqp-0.6.4 examples/mq/pop.rb