iron_worker_ng 1.0.2 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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:
|