class Blender::Driver::Blend
Public Instance Methods
execute(tasks, hosts)
click to toggle source
# File lib/blender/drivers/blend.rb, line 23 def execute(tasks, hosts) tasks.each do |task| cmd = run_command(task.command, hosts) if cmd.exitstatus != 0 and !task.metadata[:ignore_failure] raise ExecutionFailed, cmd.stderr end end end
run_command(command, hosts)
click to toggle source
# File lib/blender/drivers/blend.rb, line 32 def run_command(command, hosts) exit_status = 0 err = '' begin Blender.blend(command.file, command.options) do |sched| sched.strategy(command.strategy) sched.members(hosts) sched.concurrency(command.concurrency) command.config_store.keys.each do |key| sched.config(key, command.config_store[key]) end sched.instance_eval(File.read(command.file)) end rescue StandardError => e err = e.message + "\nBacktrace:" + e.backtrace.join("\n") exit_status = -1 end ExecOutput.new(exit_status, '', err) end