Introduction
ORQ (Object Relational Queueing) provides an abstraction for working with message queues directly from your objects.
Getting Started
Install ORQ with the following:
git clone git://github.com/vuderacha/orq.git
cd orq
rake install
Create a simple impulse:
# mymessage.rb
class MyMessage < ORQ::Impulse
field :text
field :interesting
end
Create your configuration file (assuming that you are running an AMQP broker on the default port):
# messaging.yml
development:
default:
driver: amqp
Create your application:
# testapp.rb
require 'rubygems'
require 'eventmachine'
require 'orq/impulse'
require 'mymessage'
ORQ::Impulse.configure File.join(File.dirname(__FILE__), 'messaging.yml'), 'development'
EM.run {
ORQ::Impulse.start
MyMessage.subscribe do |m|
puts "Got message: #{m.text} (#{m.interesting})"
end
EM.add_periodic_timer(1) do
MyMessage.new({:text => 'Text', :interesting => 'Cheese'}).fire!
end
}