Module: ThreadedInMemoryQueue

Defined in:
lib/threaded_in_memory_queue.rb,
lib/threaded_in_memory_queue/errors.rb,
lib/threaded_in_memory_queue/master.rb,
lib/threaded_in_memory_queue/worker.rb,
lib/threaded_in_memory_queue/timeout.rb,
lib/threaded_in_memory_queue/version.rb

Defined Under Namespace

Modules: Timeout Classes: Master, NoWorkersError, Worker, WorkerNotStarted

Constant Summary collapse

VERSION =
"0.0.3"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.inlineObject Also known as: inline?

Returns the value of attribute inline.



10
11
12
# File 'lib/threaded_in_memory_queue.rb', line 10

def inline
  @inline
end

.loggerObject

Returns the value of attribute logger.



10
11
12
# File 'lib/threaded_in_memory_queue.rb', line 10

def logger
  @logger
end

Class Method Details

.enqueue(job, *args) ⇒ Object



37
38
39
40
41
42
43
44
45
# File 'lib/threaded_in_memory_queue.rb', line 37

def self.enqueue(job, *args)
  if inline?
    job.call(*args)
  else
    raise NoWorkersError unless started?
    master.enqueue(job, *args)
  end
  return true
end

.masterObject



29
30
31
# File 'lib/threaded_in_memory_queue.rb', line 29

def self.master
  @master
end

.master=(master) ⇒ Object



33
34
35
# File 'lib/threaded_in_memory_queue.rb', line 33

def self.master=(master)
  @master = master
end

.start(options = {}) ⇒ Object



14
15
16
17
18
# File 'lib/threaded_in_memory_queue.rb', line 14

def self.start(options = {})
  self.logger = options[:logger] if options[:logger]
  self.master = Master.new(options).start
  return self
end

.started?Boolean

Returns:

  • (Boolean)


20
21
22
23
# File 'lib/threaded_in_memory_queue.rb', line 20

def self.started?
  return false unless master
  master.alive?
end

.stop(timeout = 10) ⇒ Object



47
48
49
50
51
# File 'lib/threaded_in_memory_queue.rb', line 47

def self.stop(timeout = 10)
  return true unless master
  master.stop(timeout)
  return true
end

.stopped?Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/threaded_in_memory_queue.rb', line 25

def self.stopped?
  !started?
end