Sha256: efaa692e3d9c51efc6d4887aac518233f034a7a75e2f4692b3f1b1cf2fe63f00
Contents?: true
Size: 1.48 KB
Versions: 4
Compression:
Stored size: 1.48 KB
Contents
$:.unshift File.dirname(__FILE__) + '/../lib' require 'mq' EM.run{ def log *args p args end # AMQP.logging = true clock = MQ.new.fanout('clock') EM.add_periodic_timer(1){ puts log :publishing, time = Time.now clock.publish(Marshal.dump(time)) } amq = MQ.new amq.queue('every second').bind(amq.fanout('clock')).subscribe{ |time| log 'every second', :received, Marshal.load(time) } amq = MQ.new amq.queue('every 5 seconds').bind(amq.fanout('clock')).subscribe{ |time| time = Marshal.load(time) log 'every 5 seconds', :received, time if time.strftime('%S').to_i%5 == 0 } } __END__ [:publishing, Thu Jul 17 20:14:00 -0700 2008] ["every 5 seconds", :received, Thu Jul 17 20:14:00 -0700 2008] ["every second", :received, Thu Jul 17 20:14:00 -0700 2008] [:publishing, Thu Jul 17 20:14:01 -0700 2008] ["every second", :received, Thu Jul 17 20:14:01 -0700 2008] [:publishing, Thu Jul 17 20:14:02 -0700 2008] ["every second", :received, Thu Jul 17 20:14:02 -0700 2008] [:publishing, Thu Jul 17 20:14:03 -0700 2008] ["every second", :received, Thu Jul 17 20:14:03 -0700 2008] [:publishing, Thu Jul 17 20:14:04 -0700 2008] ["every second", :received, Thu Jul 17 20:14:04 -0700 2008] [:publishing, Thu Jul 17 20:14:05 -0700 2008] ["every 5 seconds", :received, Thu Jul 17 20:14:05 -0700 2008] ["every second", :received, Thu Jul 17 20:14:05 -0700 2008] [:publishing, Thu Jul 17 20:14:06 -0700 2008] ["every second", :received, Thu Jul 17 20:14:06 -0700 2008]
Version data entries
4 entries across 4 versions & 2 rubygems
Version | Path |
---|---|
tmm1-amqp-0.5.1 | examples/clock.rb |
tmm1-amqp-0.5.2 | examples/clock.rb |
amqp-0.5.1 | examples/clock.rb |
amqp-0.5.2 | examples/clock.rb |