Module: Workers
- Defined in:
- lib/workers.rb,
lib/workers/pool.rb,
lib/workers/task.rb,
lib/workers/event.rb,
lib/workers/timer.rb,
lib/workers/worker.rb,
lib/workers/helpers.rb,
lib/workers/version.rb,
lib/workers/log_proxy.rb,
lib/workers/scheduler.rb,
lib/workers/task_group.rb,
lib/workers/periodic_timer.rb,
lib/workers/bucket_scheduler.rb
Defined Under Namespace
Modules: Helpers
Classes: BucketScheduler, Event, LogProxy, PeriodicTimer, Pool, Scheduler, Task, TaskGroup, Timer, Worker
Constant Summary
collapse
- VERSION =
'0.3.0'
Class Method Summary
collapse
Class Method Details
.lock(&block) ⇒ Object
51
52
53
|
# File 'lib/workers.rb', line 51
def self.lock(&block)
(@lock ||= Monitor.new).synchronize { yield if block_given? }
end
|
.map(inputs, options = {}, &block) ⇒ Object
45
46
47
48
49
|
# File 'lib/workers.rb', line 45
def self.map(inputs, options = {}, &block)
return Workers::TaskGroup.new.map(inputs, options) do |i|
yield(i)
end
end
|
.pool ⇒ Object
19
20
21
22
23
|
# File 'lib/workers.rb', line 19
def self.pool
lock do
return @pool ||= Workers::Pool.new
end
end
|
.pool=(val) ⇒ Object
25
26
27
28
29
30
|
# File 'lib/workers.rb', line 25
def self.pool=(val)
lock do
@pool.dispose if @pool
@pool = val
end
end
|
.scheduler ⇒ Object
32
33
34
35
36
|
# File 'lib/workers.rb', line 32
def self.scheduler
lock do
return @scheduler ||= Workers::Scheduler.new
end
end
|
.scheduler=(val) ⇒ Object
38
39
40
41
42
43
|
# File 'lib/workers.rb', line 38
def self.scheduler=(val)
lock do
@scheduler.dispose if @scheduler
@scheduler = val
end
end
|