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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 59da82eb0637e70837821b0715b57464e24156da
4
- data.tar.gz: a5345d5d83298f25f4eb07aa47c2bf44caeead3b
3
+ metadata.gz: 926d0370ba51c657f97880fefff8dfa4e5cf534d
4
+ data.tar.gz: 0a9bee202b4f8c257886a51132dc4b686f6957e9
5
5
  SHA512:
6
- metadata.gz: 9ca8030f796916f3568918c3b7aaa53ebda7f85de1337b87f660d6552f92f8510e9a1cd131a605cb4d21719790c2f9def81c0255ab298d80439af7e3d4a69e52
7
- data.tar.gz: e0553b7adeb508000ef91afec3ac76ed6bceb103f2dbb56fcba75215a9fd5fb954a8603ff9593c48d1766fe2a402925e22309132955b8ecb5aa869f75ea62e05
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.start_with?(IronWorkerNG::CLI::LOG_GROUP)
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(code_id)
79
+ def tasks_cancel_all(id)
80
80
  check_id(id)
81
- parse_response(post("projects/#{@project_id}/codes/#{code_id}/cancel_all"))
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,7 +4,7 @@ module IronWorkerNG
4
4
  module Code
5
5
  class PHP < IronWorkerNG::Code::Base
6
6
  def initialize(*args, &block)
7
- runtime(:python)
7
+ runtime(:php)
8
8
 
9
9
  super(*args, &block)
10
10
  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.version == '' ? dep.name : dep.name + dep.version }.join(' ')
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
@@ -1,5 +1,5 @@
1
1
  module IronWorkerNG
2
- VERSION = '1.0.2'
2
+ VERSION = '1.0.3'
3
3
 
4
4
  def self.version
5
5
  VERSION
@@ -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.2
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-08-29 00:00:00.000000000 Z
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: 1.2.0
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: 1.2.0
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.0.3
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: