Super Simple Message Queuing
Preparation
sudo gem install amqp # gem that implements AMQP (see link below) sudo apt-get install rabbitmq-server # super-fast MQ server, written in Erlang/OTP
First Process (subscriber)
require 'rubygems' require 'mq' EM.run { queue = MQ.new.queue('foo') queue.subscribe do |data| $stderr.puts "[#{Time.now}] RECEIVED: #{data.inspect}" end }
Second Process (publisher)
require 'rubygems' require 'mq' EM.run { queue = MQ.new.queue('foo') 10.times do |i| queue.publish("Message ##{i}") end }
Run subscriber
ruby subscriber.rb
Run publisher
ruby publisher.rb
Output of subscriber
[Mon Aug 02 02:02:55 +0200 2010] RECEIVED: "Message #0" [Mon Aug 02 02:02:58 +0200 2010] RECEIVED: "Message #1" [Mon Aug 02 02:03:01 +0200 2010] RECEIVED: "Message #2" [Mon Aug 02 02:03:05 +0200 2010] RECEIVED: "Message #3" [Mon Aug 02 02:03:08 +0200 2010] RECEIVED: "Message #4" [Mon Aug 02 02:03:11 +0200 2010] RECEIVED: "Message #5" [Mon Aug 02 02:03:14 +0200 2010] RECEIVED: "Message #6" [Mon Aug 02 02:03:17 +0200 2010] RECEIVED: "Message #7" [Mon Aug 02 02:03:20 +0200 2010] RECEIVED: "Message #8" [Mon Aug 02 02:03:23 +0200 2010] RECEIVED: "Message #9" [Mon Aug 02 02:03:26 +0200 2010] RECEIVED: "Message #10"
Conclusion
Trackbacks
Verwenden Sie den folgenden Link zur Rückverlinkung von Ihrer eigenen Seite:
http://praktikanten.brueckenschlaeger.org/trackbacks?article_id=150