Do not create more containers as the pool count

This commit is contained in:
Jan Renz
2015-04-14 20:23:41 +02:00
parent 9d7cb92931
commit 95923a137e

View File

@ -4,7 +4,8 @@ require 'concurrent/utilities'
class DockerContainerPool
@containers = ThreadSafe::Hash[ExecutionEnvironment.all.map { |execution_environment| [execution_environment.id, ThreadSafe::Array.new] }]
#as containers are not containing containers in use
@all_containers = ThreadSafe::Hash[ExecutionEnvironment.all.map { |execution_environment| [execution_environment.id, ThreadSafe::Array.new] }]
def self.clean_up
@refill_task.try(:shutdown)
@containers.values.each do |containers|
@ -47,8 +48,10 @@ class DockerContainerPool
end
def self.refill_for_execution_environment(execution_environment)
refill_count = [execution_environment.pool_size - @containers[execution_environment.id].length, config[:refill][:batch_size]].min
@containers[execution_environment.id] += refill_count.times.map { create_container(execution_environment) }
refill_count = [execution_environment.pool_size - @all_containers[execution_environment.id].length, config[:refill][:batch_size]].min
c = refill_count.times.map { create_container(execution_environment) }
@containers[execution_environment.id] += c
@all_containers[execution_environment.id] += c
#refill_count.times.map { create_container(execution_environment) }
end