lib/rbbt/util/misc/development.rb in rbbt-util-5.14.15 vs lib/rbbt/util/misc/development.rb in rbbt-util-5.14.16
- old
+ new
@@ -270,19 +270,25 @@
$_last_time_tick = Time.now
end
end
def self.bootstrap(elems, num = :current, file = nil, &block)
+ num = :current if num.nil?
cpus = case num
when :current
4
+ when String
+ num.to_i
when Integer
if num < 100
num
else
32000 / num
end
end
file = caller.first + rand(1000000).to_s if file.nil?
- RbbtSemaphore.fork_each_on_semaphore elems, cpus, file, &block
+ index = (0..elems.length-1).to_a.collect{|v| v.to_s }
+ RbbtSemaphore.fork_each_on_semaphore index, cpus, file do |i|
+ yield elems[i.to_i]
+ end
end
end