class ActiveConcurrency::Schedulers::LeastBusy
Public Class Methods
new(pool, _options)
click to toggle source
# File lib/active_concurrency/schedulers/least_busy.rb, line 7 def initialize(pool, _options) mutex = Mutex.new @pool = pool.each { |w| w.mutex = mutex } end
Public Instance Methods
schedule(*args, &block)
click to toggle source
# File lib/active_concurrency/schedulers/least_busy.rb, line 12 def schedule(*args, &block) worker = @pool.min_by(&:size) worker.schedule(*args, &block) end