lib/garcon/task/thread_pool/executor.rb
# Check the thread pool configuration and determine if the pool
# has enought capacity to handle the request. Will grow the size
# of the pool if necessary.
#
# @return [Boolean] true if the pool has enough capacity else false
#
# @!visibility private
Check the thread pool configuration and determine if the pool
has enought capacity to handle the request. Will grow the size
of the pool if necessary.
Check the thread pool configuration and determine if the pool has enought capacity to handle the request . Will grow the size of the pool if necessary .
def ensure_capacity?
      additional = 0
      capacity   = true
      if @pool.size < @min_length
        additional = @min_length - @pool.size
      elsif @queue.empty? && @queue.num_waiting >= 1
        additional = 0
      elsif @pool.size == 0 && @min_length == 0
        additional = 1
      elsif @pool.size  < @max_length || @max_length == 0
        additional = 1
      elsif @max_queue == 0 || @queue.size < @max_queue
        additional = 0
      else
        capacity = false
      end
      additional.times do
        @pool << create_worker_thread
      end
      if additional > 0
        @largest_length = [@largest_length, @pool.length].max
      end
      capacity
    end
def ensure_capacity? additional = 0 capacity = true if @pool . size < @min_length additional = @min_length - @pool . size elsif @queue . empty? && @queue . num_waiting >= 1 additional = 0 elsif @pool . size == 0 && @min_length == 0 additional = 1 elsif @pool . size < @max_length || @max_length == 0 additional = 1 elsif @max_queue == 0 || @queue . size < @max_queue additional = 0 else capacity = false end additional . times do @pool << create_worker_thread end if additional > 0 @largest_length = [ @largest_length , @pool . length ] . max end capacity end
Check the thread pool configuration and determine if the pool
has enought capacity to handle the request.
Check the thread pool configuration and determine if the pool has enought capacity to handle the request .
true if the pool has enough capacity else false
true if the pool has enough capacity else false
Boolean
!visibility
None