def self.execute_parallel_jobs_impl(handle)
??
if handle && !handle.empty?
begin
options = MCollectiveApplicationContainerProxy.rpc_options
rpc_client = rpcclient('openshift', :options => options)
mc_args = handle.clone
identities = handle.keys
rpc_client.custom_request('execute_parallel', mc_args, identities, {'identity' => identities}).each { |mcoll_reply|
if mcoll_reply.results[:statuscode] == 0
output = mcoll_reply.results[:data][:output]
exitcode = mcoll_reply.results[:data][:exitcode]
sender = mcoll_reply.results[:sender]
Rails.logger.debug("DEBUG: Output of parallel execute: #{output}, exitcode: #{exitcode}, from: #{sender}")
output.each do |o|
r = MCollectiveApplicationContainerProxy.sanitize_result(o[:result_stdout]) if o.kind_of?(Hash) and o.include?(:result_stdout)
o[:result_stdout] = r.resultIO.string.chomp if r and (r.resultIO.string.chomp.length != 0)
end if output.kind_of?(Array)
handle[sender] = output if exitcode == 0
end
}
ensure
rpc_client.disconnect
end
end
end