Sha256: 8c358e739fd78fe17f2c4d35a40d0b4f0531aeb1c116aa1797df6d5daab07bc0
Contents?: true
Size: 1.02 KB
Versions: 19
Compression:
Stored size: 1.02 KB
Contents
$:.unshift File.dirname(__FILE__) + '/../../lib' require 'mq' # For ack to work appropriately 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 } } AMQP.start(:host => 'localhost') 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
19 entries across 19 versions & 6 rubygems