Sha256: a609efee1ca3ed028b74f0ee798fa595a07cf519780c70819f14bd6de7c4717c
Contents?: true
Size: 1.01 KB
Versions: 2
Compression:
Stored size: 1.01 KB
Contents
$:.unshift File.dirname(__FILE__) + '/../../lib' require 'mq' require 'pp' # For ack to work appropriatly you must shutdown AMQP gracefully, # otherwise all items in your queue will be returned Signal.trap('INT') { AMQP.stop{ EM.stop } } Signal.trap('TERM'){ AMQP.stop{ EM.stop } } EM.run do MQ.queue('awesome').publish('Totally rad 1') MQ.queue('awesome').publish('Totally rad 2') MQ.queue('awesome').publish('Totally rad 3') i = 0 # Stopping after the second item was acked will keep the 3rd item in the queue MQ.queue('awesome').subscribe(:ack => true) do |h,m| if (i+=1) == 3 puts 'Shutting down...' AMQP.stop{ EM.stop } end if AMQP.closing? puts "#{m} (ignored, redelivered later)" else puts m h.ack end end end __END__ Totally rad 1 Totally rad 2 Shutting down... Totally rad 3 (ignored, redelivered later) When restarted: Totally rad 3 Totally rad 1 Shutting down... Totally rad 2 (ignored, redelivered later) Totally rad 3 (ignored, redelivered later)
Version data entries
2 entries across 2 versions & 2 rubygems
Version | Path |
---|---|
tmm1-amqp-0.6.0 | examples/mq/simple-ack.rb |
amqp-0.6.0 | examples/mq/simple-ack.rb |