Files

Class/Module Index [+]

Quicksearch

ActiveMessaging::Adapters::Beanstalk::Connection

Attributes

connection[RW]
host[RW]
port[RW]

Public Class Methods

new(cfg) click to toggle source
# File lib/activemessaging/adapters/beanstalk.rb, line 21
def initialize cfg
  @host = cfg[:host] || 'localhost'
  @port = cfg[:port] || 11300
  
  @connection = ::Beanstalk::Pool.new(["#{@host}:#{@port}"])
end

Public Instance Methods

disconnect() click to toggle source
# File lib/activemessaging/adapters/beanstalk.rb, line 28
def disconnect
  @connection.close
end
receive(options={}) click to toggle source
# File lib/activemessaging/adapters/beanstalk.rb, line 49
def receive(options={})
  message = @connection.reserve
  Beanstalk::Message.new message
end
received(message, message_headers={}) click to toggle source
# File lib/activemessaging/adapters/beanstalk.rb, line 54
def received message, message_headers={}
  message.delete
end
send(tube, message, message_headers={}) click to toggle source
# File lib/activemessaging/adapters/beanstalk.rb, line 40
def send tube, message, message_headers={}
  priority = message_headers[:priority] || 65536
  delay    = message_headers[:delay] || 0
  ttr      = message_headers[:ttr] || 120
  
  @connection.use(tube)
  @connection.put(message, priority, delay, ttr)
end
subscribe(tube, message_headers={}) click to toggle source
# File lib/activemessaging/adapters/beanstalk.rb, line 32
def subscribe tube, message_headers={}
  @connection.watch(tube)
end
unreceive(message, message_headers={}) click to toggle source
# File lib/activemessaging/adapters/beanstalk.rb, line 58
def unreceive message, message_headers={}
  message.release
end
unsubscribe(tube, message_headers={}) click to toggle source
# File lib/activemessaging/adapters/beanstalk.rb, line 36
def unsubscribe tube, message_headers={}
  @connection.ignore(tube)
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.