Clean up Docker client class.
This commit is contained in:
@ -177,16 +177,9 @@ class DockerClient
|
|||||||
def send_command(command, container, &block)
|
def send_command(command, container, &block)
|
||||||
Timeout.timeout(@execution_environment.permitted_execution_time.to_i) do
|
Timeout.timeout(@execution_environment.permitted_execution_time.to_i) do
|
||||||
output = container.exec(['bash', '-c', command])
|
output = container.exec(['bash', '-c', command])
|
||||||
#do |stream, chunk|
|
Rails.logger.info "output from container.exec"
|
||||||
# block.call(stream, chunk) if block_given? #this may issue
|
|
||||||
# if stream == :stderr
|
|
||||||
## stderr.push(chunk)
|
|
||||||
# else
|
|
||||||
# stdout.push(chunk)
|
|
||||||
# end
|
|
||||||
#end
|
|
||||||
Rails.logger.info output
|
Rails.logger.info output
|
||||||
{status: output[2], stderr: output[1].join, stdout: output[0].join}
|
{status: output[2] == 0 ? :ok : :failed, stdout: output[0].join, stderr: output[1].join}
|
||||||
end
|
end
|
||||||
rescue Timeout::Error
|
rescue Timeout::Error
|
||||||
timeout_occured = true
|
timeout_occured = true
|
||||||
@ -202,7 +195,7 @@ class DockerClient
|
|||||||
container = self.class.create_container(@execution_environment)
|
container = self.class.create_container(@execution_environment)
|
||||||
DockerContainerPool.add_to_all_containers(container, @execution_environment)
|
DockerContainerPool.add_to_all_containers(container, @execution_environment)
|
||||||
end
|
end
|
||||||
{status: :timeout, stderr: '', stdout: ''}
|
{status: :timeout}
|
||||||
ensure
|
ensure
|
||||||
Rails.logger.info('send_command ensuring for' + container.to_s)
|
Rails.logger.info('send_command ensuring for' + container.to_s)
|
||||||
RECYCLE_CONTAINERS ? return_container(container) : self.class.destroy_container(container)
|
RECYCLE_CONTAINERS ? return_container(container) : self.class.destroy_container(container)
|
||||||
|
Reference in New Issue
Block a user