32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
# File 'lib/canzea/helper-run-class.rb', line 32
def run (solution, action, parameters, status = false)
type = "ruby"
parameters = self.enrich(parameters)
envPush = PrepareEnvironment.new @raw
begin
root = "#{@basePath}/helpers/#{solution}"
if File.exist?("#{@basePath}/blocks/#{solution}/#{action}")
root = "#{@basePath}/blocks/#{solution}/#{action}"
end
envScript = "#{root}/environment.json"
if File.exist?(envScript)
@log.info("Adding environment variables...")
envPush.addToEnv "#{envScript}"
end
if File.exist?("#{root}/#{action}.sh")
type = "shell"
elsif File.exist?("#{root}/#{action}.py")
type = "python"
end
r = RunnerWorker.new @raw
ENV['CATALOG_LOCATION'] = "#{@basePath}";
ENV['ES_SOLUTION'] = solution;
ENV['ES_ACTION'] = action;
parameters = Template.new.processString(parameters, {})
if (type == "ruby")
cmd = "ruby #{root}/#{action}.rb '#{parameters}'"
elsif (type == "python")
cmd = "python #{root}/#{action}.py '#{parameters}'"
else
argList = []
args = JSON.parse(parameters)
args.each do | k |
argList.push('--' + k[0])
argList.push('"' + k[1] + '"')
end
cmd = "#{root}/#{action}.sh #{argList.join(' ')}"
end
r.run cmd, 1, 1, status
rescue => exception
@log.error(cmd)
@log.error(exception.to_s)
@log.error(exception.backtrace)
abort()
end
end
|