rbbt-util 5.17.19 → 5.17.20

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: 8086326d7f2641311bb29a47622ed665b7810bbf
4
- data.tar.gz: bb5058f3d0f22653fb8f01bcb2ff7660e581eb17
3
+ metadata.gz: 58cd900e8238a97baf230cbb81502f4c3aca35ba
4
+ data.tar.gz: fb08bda42782f76c8dd4a8b2b338d5ebc74a2038
5
5
  SHA512:
6
- metadata.gz: ab07516d71e624866421fbd4041e27ea9964d871f13bbda1ceb6871215815d7e847eb2f6af2f21e001417d1a933804e08d28db3e26b4596365a29747dc4d48d2
7
- data.tar.gz: f58d0cad5b049f1fdc902a0d14b9cd39ffe3b0104017e08ce4941cf1f73014d95e0989e26e9d3878a9e62948f7928c1b7ed0fec5864e5e3cafbfc761dcc28110
6
+ metadata.gz: bc6c3a7db160f46f55c8cfd7ab266168cc688045077bab418ca5ea0c146e162c89f4b1fdfb41cecb7268f73f5e23e689edeff342b647325ef172f68f4e5d493d
7
+ data.tar.gz: fa5201d4762db7bba332aa5d0fce2e41c540447793fda061436405e6af902d15ede743197481c2134df90081f889ba7e0636aea169aa0819763e8fdf96e41338
@@ -12,7 +12,7 @@ module Rserve
12
12
  end
13
13
 
14
14
  module R
15
- SESSION = ENV["RServe-session"] || "Session-PID-" + Process.pid.to_s
15
+ SESSION = ENV["RServeSession"] || "Session-PID-" + Process.pid.to_s
16
16
 
17
17
  def self.socket_file
18
18
  @@socket_file ||= Rbbt.tmp.R_sockets[R::SESSION].find
@@ -22,6 +22,16 @@ module R
22
22
  @@lockfile ||= socket_file + '.lock'
23
23
  end
24
24
 
25
+ def self.semfile
26
+ if defined? @@semfile and not @@semfile.nil?
27
+ @@semfile
28
+ else
29
+ @@semfile = File.basename(socket_file) + '.sem'
30
+ RbbtSemaphore.create_semaphore(@@semfile,1)
31
+ @@semfile
32
+ end
33
+ end
34
+
25
35
  def self.workdir
26
36
  @@workdir ||= socket_file + '.wd'
27
37
  end
@@ -37,6 +47,7 @@ module R
37
47
  begin
38
48
  Process.kill :INT, @@instance_process
39
49
  rescue Exception
50
+ Log.warn "Error killing Rserve (#{@@instance_process}): #{$!.message}"
40
51
  end
41
52
  end
42
53
  FileUtils.rm_rf pid_file if File.exists? pid_file
@@ -103,8 +114,8 @@ module R
103
114
  end
104
115
 
105
116
  def self._eval(cmd)
106
- Misc.lock lockfile do
107
- times = 2
117
+ RbbtSemaphore.synchronize(semfile) do
118
+ times = 1
108
119
  begin
109
120
  instance.eval(cmd)
110
121
  rescue Rserve::Connection::EvalError
@@ -373,11 +373,14 @@ module Misc
373
373
  keys = []
374
374
  parts = []
375
375
  lines.each_with_index do |line,i|
376
- key, *p = line.strip.split(sep, -1)
377
- keys[i] = key
378
- parts[i] = p
376
+ if line.nil?
377
+ key, *p = line.strip.split(sep, -1)
378
+ keys[i] = key
379
+ parts[i] = p
380
+ else
381
+ end
379
382
  end
380
- sizes = parts.collect{|p| p.length }
383
+ sizes = parts.collect{|p| p.nil? ? 0 : p.length }
381
384
  last_min = nil
382
385
  while lines.compact.any?
383
386
  min = keys.compact.sort.first
@@ -523,13 +523,16 @@ module Workflow
523
523
  case v
524
524
  when Symbol
525
525
  rec_dependency = (real_dependencies + real_dependencies.collect{|d| d.rec_dependencies}).flatten.compact.uniq.select{|d| d.task.name.to_sym == v }.first
526
- raise "Dependency for parameter #{i} not found: #{v}" if rec_dependency.nil?
527
- input_options = workflow.task_info(task)[:input_options][i] || {}
528
- if input_options[:stream]
529
- rec_dependency.run(true).grace unless rec_dependency.done? or rec_dependency.running?
530
- _inputs[i] = rec_dependency
526
+ if rec_dependency.nil?
527
+ _inputs[i] = v
531
528
  else
532
- _inputs[i] = rec_dependency.run
529
+ input_options = workflow.task_info(task)[:input_options][i] || {}
530
+ if input_options[:stream]
531
+ #rec_dependency.run(true).grace unless rec_dependency.done? or rec_dependency.running?
532
+ _inputs[i] = rec_dependency
533
+ else
534
+ _inputs[i] = rec_dependency.run
535
+ end
533
536
  end
534
537
  else
535
538
  _inputs[i] = v
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbbt-util
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.17.19
4
+ version: 5.17.20
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miguel Vazquez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-23 00:00:00.000000000 Z
11
+ date: 2015-04-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake