rbbt-util 5.11.4 → 5.11.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -72,6 +72,7 @@ class Step
72
72
  def set_info(key, value)
73
73
  return nil if @exec or info_file.nil?
74
74
  value = Annotated.purge value if defined? Annotated
75
+ lock_filename = Persist.persistence_path(info_file, {:dir => Step.lock_dir})
75
76
  Open.lock(info_file) do
76
77
  i = info
77
78
  i[key] = value
@@ -11,6 +11,14 @@ class Step
11
11
  attr_accessor :exec
12
12
  attr_accessor :result, :mutex
13
13
 
14
+ class << self
15
+ attr_accessor :lock_dir
16
+
17
+ def lock_dir
18
+ @lock_dir ||= Rbbt.tmp.step_info_locks.find
19
+ end
20
+ end
21
+
14
22
  def initialize(path, task = nil, inputs = nil, dependencies = nil, bindings = nil)
15
23
  path = Path.setup(Misc.sanitize_filename(path)) if String === path
16
24
  pat = path.call if Proc === path
@@ -61,7 +69,6 @@ def relay_log(step)
61
69
  end
62
70
 
63
71
  def prepare_result(value, description = nil, info = {})
64
- #info = self.info
65
72
  case
66
73
  when IO === value
67
74
  begin
@@ -69,7 +76,7 @@ def prepare_result(value, description = nil, info = {})
69
76
  when :array
70
77
  array = []
71
78
  while line = value.gets
72
- array << line
79
+ array << line.strip
73
80
  end
74
81
  array
75
82
  when :tsv
@@ -160,6 +167,7 @@ def join
160
167
  dependencies.each{|dep| dep.join }
161
168
  self
162
169
  end
170
+ self
163
171
  end
164
172
 
165
173
  def checks
@@ -184,14 +192,14 @@ end
184
192
  def run_dependencies(seen = [])
185
193
  seen << self.path
186
194
  dependencies.uniq.each{|dependency|
187
- Log.info "#{Log.color :magenta, "Checking dependency"} #{Log.color :yellow, task.name.to_s || ""} => #{Log.color :yellow, dependency.task_name.to_s || ""}"
195
+ next if seen.include? dependency.path
196
+ Log.info "#{Log.color :magenta, "Checking dependency"} #{Log.color :yellow, task.name.to_s || ""} => #{Log.color :yellow, dependency.task_name.to_s || ""} -- #{Log.color :blue, dependency.path}"
188
197
  begin
189
- next if seen.include? dependency.path
190
198
  dependency.relay_log self
191
- dependency.clean if not dependency.done? and dependency.error? or dependency.aborted?
199
+ dependency.clean if not dependency.done? and (dependency.error? or dependency.aborted?)
192
200
  dependency.clean if dependency.streaming? and not dependency.running?
193
- dependency.run_dependencies(seen)
194
- dependency.run true unless dependency.result or dependency.done?
201
+ #dependency.run_dependencies(seen)
202
+ dependency.run(ENV["RBBT_NO_STREAM"] != 'true') unless dependency.result or dependency.done?
195
203
  seen << dependency.path
196
204
  seen.concat dependency.rec_dependencies.collect{|d| d.path}
197
205
  rescue Exception
@@ -321,10 +329,8 @@ def run(no_load = false)
321
329
 
322
330
  def fork(semaphore = nil)
323
331
  raise "Can not fork: Step is waiting for proces #{@pid} to finish" if not @pid.nil? and not Process.pid == @pid
324
- iii :forking
325
332
  @pid = Process.fork do
326
333
  begin
327
- iii :forked
328
334
  RbbtSemaphore.wait_semaphore(semaphore) if semaphore
329
335
  FileUtils.mkdir_p File.dirname(path) unless Open.exists? File.dirname(path)
330
336
  begin
@@ -108,8 +108,10 @@ def fix_options(workflow, task, job_options)
108
108
  else
109
109
  str = case
110
110
  when value == '-'
111
+ $array_separator ||= "\n"
111
112
  STDIN.read
112
113
  when (String === value and File.exists?(value))
114
+ $array_separator ||= "\n"
113
115
  Open.read(value)
114
116
  else
115
117
  value
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.11.4
4
+ version: 5.11.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miguel Vazquez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-08 00:00:00.000000000 Z
11
+ date: 2014-04-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -174,6 +174,17 @@ files:
174
174
  - lib/rbbt/util/filecache.rb
175
175
  - lib/rbbt/util/log.rb
176
176
  - lib/rbbt/util/misc.rb
177
+ - lib/rbbt/util/misc/concurrent_stream.rb
178
+ - lib/rbbt/util/misc/development.rb
179
+ - lib/rbbt/util/misc/exceptions.rb
180
+ - lib/rbbt/util/misc/format.rb
181
+ - lib/rbbt/util/misc/indiferent_hash.rb
182
+ - lib/rbbt/util/misc/inspect.rb
183
+ - lib/rbbt/util/misc/lock.rb
184
+ - lib/rbbt/util/misc/math.rb
185
+ - lib/rbbt/util/misc/objects.rb
186
+ - lib/rbbt/util/misc/omics.rb
187
+ - lib/rbbt/util/misc/pipes.rb
177
188
  - lib/rbbt/util/named_array.rb
178
189
  - lib/rbbt/util/open.rb
179
190
  - lib/rbbt/util/semaphore.rb