Sha256: 7148d6d8ccca437751994e1468bc202657778026b031bb0d394a7201b43c3d65

Contents?: true

Size: 1.13 KB

Versions: 5

Compression:

Stored size: 1.13 KB

Contents

# encoding: utf-8

$:.unshift(File.expand_path("../../lib", __FILE__))
require 'amqp'
require 'pp'

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

AMQP.start do
  queue = AMQP::Channel.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

5 entries across 5 versions & 1 rubygems

Version Path
amqp-0.7.5 examples/pop.rb
amqp-0.7.4 examples/pop.rb
amqp-0.7.3 examples/pop.rb
amqp-0.7.2 examples/pop.rb
amqp-0.7.1 examples/pop.rb