class Andromeda::Guides::PoolGuide
Attributes
max_procs[R]
pool_track[R]
Public Class Methods
new(num_procs = nil)
click to toggle source
# File lib/andromeda/pool_guide.rb, line 23 def initialize(num_procs = nil) num_procs = PoolGuide.num_procs unless num_procs raise ArgumentError unless num_procs.is_a?(Fixnum) raise ArgumentError unless num_procs > 0 @max_procs = num_procs @pool_track = PoolTrack.new ThreadPool.new(@max_procs) end
num_procs()
click to toggle source
@return [Fixnum] number of processors as determined by Facter
# File lib/andromeda/pool_guide.rb, line 10 def self.num_procs if ENV['NUM_PROCS'] @num_procs = ENV['NUM_PROCS'].to_i end case RUBY_PLATFORM when 'java' @num_procs = java.lang.Runtime.get_runtime.available_processors unless defined?(@num_procs) else @num_procs = Facter.sp_number_processors.strip.to_i unless defined?(@num_procs) end @num_procs end
Public Instance Methods
pack(plan, track, was_suggested = false)
click to toggle source
# File lib/andromeda/pool_guide.rb, line 36 def pack(plan, track, was_suggested = false) return plan if plan.frozen? return plan.identical_copy if was_suggested if max_procs > 1 then plan.identical_copy else plan end end
track(spot, label, suggested_track = nil)
click to toggle source
# File lib/andromeda/pool_guide.rb, line 31 def track(spot, label, suggested_track = nil) return suggested_track if suggested_track return @pool_track end