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 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: