module Jobster

Constants

VERSION

Public Class Methods

channel() click to toggle source
# File lib/jobster.rb, line 17
def self.channel
  @channel ||= config.bunny.create_channel(nil, config.worker_threads)
end
config() click to toggle source
# File lib/jobster.rb, line 9
def self.config
  @config ||= Config.new
end
configure(&block) click to toggle source
# File lib/jobster.rb, line 13
def self.configure(&block)
  block.call(self.config)
end
delay_exchange() click to toggle source
# File lib/jobster.rb, line 25
def self.delay_exchange
  @delay_exchange ||= channel.exchange(config.delay_exchange_name, :type => :fanout, :durable => true, :auto_delete => false)
end
delay_queue() click to toggle source
# File lib/jobster.rb, line 29
def self.delay_queue
  @delay_queue ||= begin
    queue = channel.queue(config.delay_queue_name, :durable => true, :auto_delete => false, :arguments => {'x-dead-letter-exchange' => config.exchange_name})
    queue.bind(delay_exchange)
    queue
  end
end
exchange() click to toggle source
# File lib/jobster.rb, line 21
def self.exchange
  @exchange ||= channel.exchange(config.exchange_name, :type => :direct, :durable => true, :auto_delete => false)
end
queue(name) click to toggle source
# File lib/jobster.rb, line 37
def self.queue(name)
  @queues ||= {}
  @queues[name] ||= begin
    queue = channel.queue("#{config.queue_name_prefix}-#{name}", :durable => true, :auto_delete => false)
    queue.bind(exchange, :routing_key => name)
    queue
  end
end