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
.inline ⇒ Object
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
|
.logger ⇒ Object
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
|
.master ⇒ Object
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
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
25
26
27
|
# File 'lib/threaded_in_memory_queue.rb', line 25
def self.stopped?
!started?
end
|