From 95923a137e59f196332fb7a342354c156bbb8e97 Mon Sep 17 00:00:00 2001 From: Jan Renz Date: Tue, 14 Apr 2015 20:23:41 +0200 Subject: [PATCH] Do not create more containers as the pool count --- lib/docker_container_pool.rb | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/docker_container_pool.rb b/lib/docker_container_pool.rb index 0dc536f5..8823d989 100644 --- a/lib/docker_container_pool.rb +++ b/lib/docker_container_pool.rb @@ -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