Module: RabbitJobs

Defined in:
lib/rabbit_jobs.rb,
lib/rabbit_jobs/job.rb,
lib/rabbit_jobs/worker.rb,
lib/rabbit_jobs/version.rb,
lib/rabbit_jobs/main_loop.rb,
lib/rabbit_jobs/publisher.rb,
lib/rabbit_jobs/scheduler.rb,
lib/rabbit_jobs/configuration.rb,
lib/rabbit_jobs/amqp_transport.rb,
lib/rabbit_jobs/publisher/amqp.rb,
lib/rabbit_jobs/publisher/base.rb,
lib/rabbit_jobs/publisher/sync.rb,
lib/rabbit_jobs/publisher/test.rb,
lib/rabbit_jobs/consumer/job_consumer.rb

Overview

Public gem API.

Defined Under Namespace

Modules: AmqpTransport, Consumer, Job, MainLoop Classes: Configuration, Publisher, Scheduler, Worker

Constant Summary collapse

VERSION =
'0.12.2'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.loggerObject



28
29
30
31
32
33
34
35
36
# File 'lib/rabbit_jobs.rb', line 28

def logger
  unless @logger
    @logger = Logger.new($stdout)
    @logger.level = Logger::INFO
    @logger.formatter = nil
    @logger.progname = 'rj'
  end
  @logger
end

Class Method Details

.before_process_message(&block) ⇒ Object



38
39
40
41
42
# File 'lib/rabbit_jobs.rb', line 38

def before_process_message(&block)
  fail unless block_given?
  @before_process_message_callbacks ||= []
  @before_process_message_callbacks << block
end

.configObject



60
61
62
# File 'lib/rabbit_jobs.rb', line 60

def config
  @configuration ||= load_config
end

.configure {|@configuration| ... } ⇒ Object

Configuration

Yields:

  • (@configuration)


55
56
57
58
# File 'lib/rabbit_jobs.rb', line 55

def configure
  @configuration ||= Configuration.new
  yield @configuration if block_given?
end

.load_config(config_file = nil) ⇒ Object



64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# File 'lib/rabbit_jobs.rb', line 64

def load_config(config_file = nil)
  @configuration ||= nil

  config_file ||= defined?(Rails) && Rails.respond_to?(:root) && Rails.root.join('config/rabbit_jobs.yml')
  if config_file
    if File.exist?(config_file)
      @configuration ||= Configuration.new
      @configuration.load_file(config_file)
    end
  end

  unless @configuration
    configure do |c|
      c.server 'amqp://localhost'
    end
  end

  @configuration
end

.run_before_process_message_callbacksObject



44
45
46
47
48
49
50
51
52
# File 'lib/rabbit_jobs.rb', line 44

def run_before_process_message_callbacks
  @before_process_message_callbacks ||= []
  @before_process_message_callbacks.each do |callback|
    return false unless callback.call
  end
  true
rescue
  false
end