iron_worker_ng 1.0.2 → 1.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/iron_worker +1 -1
- data/lib/iron_worker_ng/api_client.rb +2 -2
- data/lib/iron_worker_ng/code/base.rb +4 -0
- data/lib/iron_worker_ng/code/container/base.rb +6 -0
- data/lib/iron_worker_ng/code/php.rb +1 -1
- data/lib/iron_worker_ng/code/runtime/node.rb +32 -0
- data/lib/iron_worker_ng/feature/common/set_env.rb +39 -0
- data/lib/iron_worker_ng/feature/python/merge_pip.rb +1 -1
- data/lib/iron_worker_ng/version.rb +1 -1
- data/lib/iron_worker_ng.rb +14 -0
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 926d0370ba51c657f97880fefff8dfa4e5cf534d
|
4
|
+
data.tar.gz: 0a9bee202b4f8c257886a51132dc4b686f6957e9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a7e81b46f66159b0e173f9b8800e912a6405ceb21d85bbda6cd81b87fc4bf7811d09d3219fd60848180251aa73a2f985cd48fa3cf1bf0165ec964795cd83373a
|
7
|
+
data.tar.gz: 4b35454235b55836e553d14f3c72fe3740b0d0304bbfe7939d2446e878804e55387ca3876ecd72231d2eab7f10201b342f7c71ad3aa778156d7c749b4eab3c53
|
data/bin/iron_worker
CHANGED
@@ -8,7 +8,7 @@ require 'iron_worker_ng/cli'
|
|
8
8
|
|
9
9
|
class IronWorkerCLILoggerFormatter < ::Logger::Formatter
|
10
10
|
def call(severity, time, proname, msg)
|
11
|
-
msg = IronWorkerNG::CLI::LOG_ENTRY + msg unless msg.
|
11
|
+
msg = IronWorkerNG::CLI::LOG_ENTRY + msg unless msg[0, IronWorkerNG::CLI::LOG_GROUP.length] == IronWorkerNG::CLI::LOG_GROUP
|
12
12
|
|
13
13
|
msg + "\n"
|
14
14
|
end
|
@@ -76,9 +76,9 @@ module IronWorkerNG
|
|
76
76
|
parse_response(post("projects/#{@project_id}/tasks/#{id}/cancel"))
|
77
77
|
end
|
78
78
|
|
79
|
-
def tasks_cancel_all(
|
79
|
+
def tasks_cancel_all(id)
|
80
80
|
check_id(id)
|
81
|
-
parse_response(post("projects/#{@project_id}/codes/#{
|
81
|
+
parse_response(post("projects/#{@project_id}/codes/#{id}/cancel_all"))
|
82
82
|
end
|
83
83
|
|
84
84
|
def tasks_log(id)
|
@@ -8,6 +8,7 @@ require 'iron_worker_ng/feature/common/merge_exec'
|
|
8
8
|
require 'iron_worker_ng/feature/common/merge_file'
|
9
9
|
require 'iron_worker_ng/feature/common/merge_dir'
|
10
10
|
require 'iron_worker_ng/feature/common/merge_deb'
|
11
|
+
require 'iron_worker_ng/feature/common/set_env'
|
11
12
|
|
12
13
|
module IronWorkerNG
|
13
14
|
module Code
|
@@ -27,6 +28,7 @@ module IronWorkerNG
|
|
27
28
|
include IronWorkerNG::Feature::Common::MergeFile::InstanceMethods
|
28
29
|
include IronWorkerNG::Feature::Common::MergeDir::InstanceMethods
|
29
30
|
include IronWorkerNG::Feature::Common::MergeDeb::InstanceMethods
|
31
|
+
include IronWorkerNG::Feature::Common::SetEnv::InstanceMethods
|
30
32
|
|
31
33
|
def initialize(*args, &block)
|
32
34
|
@features = []
|
@@ -230,6 +232,8 @@ export LD_LIBRARY_PATH
|
|
230
232
|
PATH=.:./bin:./__debs__/usr/bin:./__debs__/bin:$PATH
|
231
233
|
export PATH
|
232
234
|
|
235
|
+
#{container.runner_additions}
|
236
|
+
|
233
237
|
#{runtime_run_code(local)}
|
234
238
|
RUNNER
|
235
239
|
end
|
@@ -6,9 +6,11 @@ module IronWorkerNG
|
|
6
6
|
module Container
|
7
7
|
class Base
|
8
8
|
attr_reader :name
|
9
|
+
attr_reader :runner_additions
|
9
10
|
|
10
11
|
def initialize
|
11
12
|
@name = ::Dir.tmpdir + '/' + ::Dir::Tmpname.make_tmpname('iron-worker-ng-', 'container')
|
13
|
+
@runner_additions = ''
|
12
14
|
end
|
13
15
|
|
14
16
|
def clear_dest(dest)
|
@@ -28,6 +30,10 @@ module IronWorkerNG
|
|
28
30
|
|
29
31
|
def close
|
30
32
|
end
|
33
|
+
|
34
|
+
def runner_add(runner_code)
|
35
|
+
@runner_additions << runner_code << "\n"
|
36
|
+
end
|
31
37
|
end
|
32
38
|
end
|
33
39
|
end
|
@@ -4,6 +4,38 @@ module IronWorkerNG
|
|
4
4
|
module Node
|
5
5
|
include IronWorkerNG::Feature::Common::MergeExec::InstanceMethods
|
6
6
|
|
7
|
+
def runtime_bundle(container, local = false)
|
8
|
+
container.get_output_stream(@dest_dir + 'node_modules/node_helper.js') do |runner|
|
9
|
+
runner.write <<NODE_RUNNER
|
10
|
+
/* #{IronWorkerNG.full_version} */
|
11
|
+
|
12
|
+
var fs = require('fs');
|
13
|
+
var params = null;
|
14
|
+
var task_id = null;
|
15
|
+
var config = null;
|
16
|
+
|
17
|
+
process.argv.forEach(function(val, index, array) {
|
18
|
+
if (val == "-payload") {
|
19
|
+
params = JSON.parse(fs.readFileSync(process.argv[index + 1], 'utf8'));
|
20
|
+
}
|
21
|
+
|
22
|
+
if (val == "-config") {
|
23
|
+
config = JSON.parse(fs.readFileSync(process.argv[index + 1], 'utf8'));
|
24
|
+
}
|
25
|
+
|
26
|
+
if (val == "-id") {
|
27
|
+
task_id = process.argv[index + 1];
|
28
|
+
}
|
29
|
+
});
|
30
|
+
|
31
|
+
exports.params = params;
|
32
|
+
exports.config = config;
|
33
|
+
exports.task_id = task_id;
|
34
|
+
|
35
|
+
NODE_RUNNER
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
7
39
|
def runtime_run_code(local = false)
|
8
40
|
<<RUN_CODE
|
9
41
|
node #{File.basename(@exec.path)} "$@"
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module IronWorkerNG
|
2
|
+
module Feature
|
3
|
+
module Common
|
4
|
+
module SetEnv
|
5
|
+
class Feature < IronWorkerNG::Feature::Base
|
6
|
+
attr_reader :key
|
7
|
+
attr_reader :value
|
8
|
+
|
9
|
+
def initialize(code, key, value)
|
10
|
+
super(code)
|
11
|
+
|
12
|
+
@key = key
|
13
|
+
@value = value
|
14
|
+
end
|
15
|
+
|
16
|
+
def bundle(container)
|
17
|
+
container.runner_add "export #{@key}=\"#{@value.to_s.gsub('"','\\"')}\""
|
18
|
+
end
|
19
|
+
|
20
|
+
def build_command
|
21
|
+
if @code.remote_build_command || @code.full_remote_build
|
22
|
+
"set_env \"#{@key}\", \"#{@value.to_s.gsub('"','\\"')}\""
|
23
|
+
else
|
24
|
+
nil
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
module InstanceMethods
|
30
|
+
def set_env(key, value)
|
31
|
+
IronCore::Logger.info 'IronWorkerNG', "Setting ENV variable with name='#{key}' and value='#{@value}'"
|
32
|
+
|
33
|
+
@features << IronWorkerNG::Feature::Common::SetEnv::Feature.new(self, key, value)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -41,7 +41,7 @@ module IronWorkerNG
|
|
41
41
|
|
42
42
|
::Dir.mkdir(pips_dir_name)
|
43
43
|
|
44
|
-
deps_string = @deps.map { |dep| dep.
|
44
|
+
deps_string = @deps.map { |dep| dep.name + dep.version.to_s.sub(/\A\d/, '==\0') }.join(' ')
|
45
45
|
install_command = pip_binary + ' install -U -I --user --root ' + pips_dir_name + ' ' + deps_string
|
46
46
|
|
47
47
|
fork do
|
data/lib/iron_worker_ng.rb
CHANGED
@@ -4,6 +4,20 @@ rescue LoadError
|
|
4
4
|
raise "Please install json gem"
|
5
5
|
end
|
6
6
|
|
7
|
+
if (not ''.respond_to?(:start_with?)) or (not ''.respond_to?(:end_with?))
|
8
|
+
class ::String
|
9
|
+
def start_with?(prefix)
|
10
|
+
prefix = prefix.to_s
|
11
|
+
self[0, prefix.length] == prefix
|
12
|
+
end
|
13
|
+
|
14
|
+
def end_with?(suffix)
|
15
|
+
suffix = suffix.to_s
|
16
|
+
self[-suffix.length, suffix.length] == suffix
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
7
21
|
require 'iron_worker_ng/version'
|
8
22
|
require 'iron_worker_ng/compat'
|
9
23
|
require 'iron_worker_ng/fetcher'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: iron_worker_ng
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Kirilenko
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-11-19 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: iron_core
|
@@ -31,14 +31,14 @@ dependencies:
|
|
31
31
|
requirements:
|
32
32
|
- - '>='
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version:
|
34
|
+
version: '0'
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
39
|
- - '>='
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version:
|
41
|
+
version: '0'
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: rubyzip
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
@@ -209,6 +209,7 @@ files:
|
|
209
209
|
- lib/iron_worker_ng/feature/ruby/merge_gem_dependency.rb
|
210
210
|
- lib/iron_worker_ng/feature/ruby/merge_gem.rb
|
211
211
|
- lib/iron_worker_ng/feature/ruby/merge_gemfile.rb
|
212
|
+
- lib/iron_worker_ng/feature/common/set_env.rb
|
212
213
|
- lib/iron_worker_ng/feature/common/merge_file.rb
|
213
214
|
- lib/iron_worker_ng/feature/common/merge_deb.rb
|
214
215
|
- lib/iron_worker_ng/feature/common/merge_dir.rb
|
@@ -238,9 +239,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
238
239
|
version: 1.3.6
|
239
240
|
requirements: []
|
240
241
|
rubyforge_project:
|
241
|
-
rubygems_version: 2.
|
242
|
+
rubygems_version: 2.1.11
|
242
243
|
signing_key:
|
243
244
|
specification_version: 4
|
244
245
|
summary: New generation ruby client for IronWorker
|
245
246
|
test_files: []
|
246
|
-
has_rdoc:
|