diff --git a/lib/docker_client.rb b/lib/docker_client.rb index 4672360f..a548cc82 100644 --- a/lib/docker_client.rb +++ b/lib/docker_client.rb @@ -108,7 +108,7 @@ class DockerClient container.status = :created container rescue Docker::Error::NotFoundError => error - Rails.logger.info('create_container: Got Docker::Error::NotFoundError: ' + error.to_s) + Rails.logger.error('create_container: Got Docker::Error::NotFoundError: ' + error.to_s) destroy_container(container) #(tries += 1) <= RETRY_COUNT ? retry : raise(error) end @@ -390,8 +390,8 @@ class DockerClient Timeout.timeout(@execution_environment.permitted_execution_time.to_i) do #TODO: check phusion doku again if we need -i -t options here output = container.exec(['bash', '-c', command]) - Rails.logger.info "output from container.exec" - Rails.logger.info output + Rails.logger.debug "output from container.exec" + Rails.logger.debug output result = {status: output[2] == 0 ? :ok : :failed, stdout: output[0].join.force_encoding('utf-8'), stderr: output[1].join.force_encoding('utf-8')} end # if we use pooling and recylce the containers, put it back. otherwise, destroy it. diff --git a/lib/docker_container_pool.rb b/lib/docker_container_pool.rb index 7f1f16fd..a2dc1a2e 100644 --- a/lib/docker_container_pool.rb +++ b/lib/docker_container_pool.rb @@ -7,7 +7,9 @@ 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 + Rails.logger.info('Container Pool is now performing a cleanup. ') @refill_task.try(:shutdown) @all_containers.values.each do |containers| DockerClient.destroy_container(containers.shift) until containers.empty?