Class: SimpleJob::JobQueue

Inherits:
Object
  • Object
show all
Defined in:
lib/simple_job/job_queue.rb

Direct Known Subclasses

SQSJobQueue, TestJobQueue

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.[](type, options = {}) ⇒ Object



73
74
75
# File 'lib/simple_job/job_queue.rb', line 73

def self.[](type, options = {})
  queue_class.get_queue(type, options)
end

.config(options = {}) ⇒ Object



64
65
66
67
68
69
70
71
# File 'lib/simple_job/job_queue.rb', line 64

def self.config(options = {})
  @config ||= {
    :implementation => 'sqs',
    :logger => default_logger,
  }
  @config.merge!(options) if options
  @config
end

.defaultObject



81
82
83
# File 'lib/simple_job/job_queue.rb', line 81

def self.default
  queue_class.default_queue
end

.default_queueObject



77
78
79
# File 'lib/simple_job/job_queue.rb', line 77

def self.default_queue
  raise "default queue not defined"
end

.get_queue(type, options = {}) ⇒ Object



85
86
87
# File 'lib/simple_job/job_queue.rb', line 85

def self.get_queue(type, options = {})
  raise "queue with type #{type} not defined"
end

.queue_classObject



89
90
91
# File 'lib/simple_job/job_queue.rb', line 89

def self.queue_class
  @@registered_job_queues[config[:implementation].to_s]
end

.register_job_queue(identifier, klass) ⇒ Object



59
60
61
62
# File 'lib/simple_job/job_queue.rb', line 59

def self.register_job_queue(identifier, klass)
  @@registered_job_queues ||= {}
  @@registered_job_queues[identifier.to_s] = klass
end

Instance Method Details

#enqueue(message, options = {}) ⇒ Object

Raises:

  • (NotImplementedError)


93
94
95
# File 'lib/simple_job/job_queue.rb', line 93

def enqueue(message, options = {})
  raise NotImplementedError
end

#poll(options = {}, &block) ⇒ Object

Raises:

  • (NotImplementedError)


97
98
99
# File 'lib/simple_job/job_queue.rb', line 97

def poll(options = {}, &block)
  raise NotImplementedError
end