Module: ThreadedInMemoryQueue
- Extended by:
- Inline
- Defined in:
- lib/threaded_in_memory_queue.rb,
lib/threaded_in_memory_queue/errors.rb,
lib/threaded_in_memory_queue/inline.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: Inline, Timeout
Classes: Master, NoWorkersError, Worker, WorkerNotStarted
Constant Summary
collapse
- VERSION =
"0.0.1"
Class Attribute Summary collapse
Class Method Summary
collapse
Methods included from Inline
inline, inline=, inline?
Class Attribute Details
.logger ⇒ Object
Returns the value of attribute logger.
13
14
15
|
# File 'lib/threaded_in_memory_queue.rb', line 13
def logger
@logger
end
|
Class Method Details
.enqueue(klass, *args) ⇒ Object
30
31
32
33
34
|
# File 'lib/threaded_in_memory_queue.rb', line 30
def self.enqueue(klass, *args)
raise NoWorkersError, "must start worker before enqueueing jobs" unless master
master.enqueue(klass, *args)
return true
end
|
.master ⇒ Object
22
23
24
|
# File 'lib/threaded_in_memory_queue.rb', line 22
def self.master
Thread.current[:threaded_in_memory_queue_master]
end
|
.master=(master) ⇒ Object
26
27
28
|
# File 'lib/threaded_in_memory_queue.rb', line 26
def self.master=(master)
Thread.current[:threaded_in_memory_queue_master] = master
end
|
.start(options = {}) ⇒ Object
16
17
18
19
20
|
# File 'lib/threaded_in_memory_queue.rb', line 16
def self.start(options = {})
self.logger = options[:logger] if options[:logger]
self.master = Master.new(options).start
return self
end
|
.stop(timeout = 10) ⇒ Object
36
37
38
39
40
|
# File 'lib/threaded_in_memory_queue.rb', line 36
def self.stop(timeout = 10)
return true unless master
master.stop(timeout)
return true
end
|