# File lib/stickshift-controller/app/models/remote_job.rb, line 31 def self.add_parallel_job(handle, tag, gear, rjob) parallel_job = { :tag => tag, :gear => gear.uuid, :job => { :cartridge => rjob.cartridge, :action => rjob.action, :args => rjob.args }, :result_stdout => "", :result_stderr => "", :result_exit_code => "" } job_list = handle[gear.get_proxy.id] || [] job_list << parallel_job handle[gear.get_proxy.id] = job_list end
# File lib/stickshift-controller/app/models/remote_job.rb, line 12 def self.create_parallel_job return { } end
# File lib/stickshift-controller/app/models/remote_job.rb, line 45 def self.get_parallel_run_results(handle, &block) handle.each { |id, job_list| job_list.each { |parallel_job| block.call(parallel_job[:tag], parallel_job[:gear], parallel_job[:result_stdout], parallel_job[:result_exit_code]) } } end
# File lib/stickshift-controller/app/models/remote_job.rb, line 5 def initialize(target, action, args) self.cartridge = target self.action = action self.args = args end
# File lib/stickshift-controller/app/models/remote_job.rb, line 16 def self.run_parallel_on_gears(gears, handle, &block) gears.each { |gear| block.call(handle, gear) } # now execute begin StickShift::ApplicationContainerProxy.execute_parallel_jobs(handle) rescue Exception=>e Rails.logger.error e.message Rails.logger.error e.inspect Rails.logger.error e.backtrace.inspect raise e end end