rbbt-util 5.20.14 → 5.20.15
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/rbbt/resource.rb +2 -0
- data/lib/rbbt/rest/client/step.rb +13 -2
- data/lib/rbbt/tsv/parallel/traverse.rb +5 -1
- data/lib/rbbt/util/log/progress/report.rb +16 -0
- data/lib/rbbt/util/log/progress/util.rb +6 -2
- data/lib/rbbt/workflow/accessor.rb +1 -1
- data/lib/rbbt/workflow/step/dependencies.rb +16 -2
- data/share/rbbt_commands/workflow/prov +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8acdb68bc077ef40aa93cc0bd822e2a03e634d7f
|
4
|
+
data.tar.gz: 5aeb1004ef167478f65659794dbc2c93d294cd10
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c5bb2dc2c484251bc7d41b88d3869eeea5d179724bf4ff46403fdd7e3c84be1c28bb31c8bd5d4412f51027221e3fd41139acd1b444fbb1829adcd8baa49560e6
|
7
|
+
data.tar.gz: 1c82abfa22a27807250e030c22f03a586327d10cee8baea5bc70644275e71ad7f69cff72c4327df9ff4f6f0f05b8e788a5c1ff28b949bdae1ab9d5791f519672
|
data/lib/rbbt/resource.rb
CHANGED
@@ -160,6 +160,8 @@ module Resource
|
|
160
160
|
Misc.sensiblewrite(final_path, data * "\n")
|
161
161
|
when TSV
|
162
162
|
Misc.sensiblewrite(final_path, data.dumper_stream)
|
163
|
+
when TSV::Dumper
|
164
|
+
Misc.sensiblewrite(final_path, data.stream)
|
163
165
|
when nil
|
164
166
|
else
|
165
167
|
raise "Unkown object produced: #{Misc.fingerprint data}"
|
@@ -34,8 +34,19 @@ class WorkflowRESTClient
|
|
34
34
|
inputs.each do |k,v|
|
35
35
|
stream = stream_input.to_s == k.to_s
|
36
36
|
if Step === v
|
37
|
-
|
38
|
-
|
37
|
+
unless (v.done? or v.streaming? or RestClient::Step === v)
|
38
|
+
v.run(true) and v.grace
|
39
|
+
end
|
40
|
+
|
41
|
+
begin
|
42
|
+
if stream
|
43
|
+
new_inputs[k] = TSV.get_stream(v)
|
44
|
+
else
|
45
|
+
new_inputs[k] = v.load
|
46
|
+
end
|
47
|
+
rescue Exception
|
48
|
+
raise $!
|
49
|
+
end
|
39
50
|
else
|
40
51
|
new_inputs[k] = v
|
41
52
|
end
|
@@ -352,6 +352,8 @@ module TSV
|
|
352
352
|
|
353
353
|
def self.traverse_cpus(num, obj, options, &block)
|
354
354
|
begin
|
355
|
+
error = false
|
356
|
+
|
355
357
|
callback, cleanup, join, respawn, bar = Misc.process_options options, :callback, :cleanup, :join, :respawn, :bar
|
356
358
|
respawn = true if ENV["RBBT_RESPAWN"] and ENV["RBBT_RESPAWN"] == "true"
|
357
359
|
|
@@ -369,6 +371,7 @@ module TSV
|
|
369
371
|
q.join
|
370
372
|
|
371
373
|
rescue Interrupt, Aborted
|
374
|
+
error = true
|
372
375
|
q.abort
|
373
376
|
Log.medium{"Aborted traversal in CPUs for #{stream_name(obj) || Misc.fingerprint(obj)}: #{$!.backtrace*","}"}
|
374
377
|
stream = obj_stream(obj)
|
@@ -377,6 +380,7 @@ module TSV
|
|
377
380
|
stream.abort if stream.respond_to? :abort
|
378
381
|
raise "Traversal aborted"
|
379
382
|
rescue Exception
|
383
|
+
error = true
|
380
384
|
q.abort
|
381
385
|
Log.medium "Exception during traversal in CPUs for #{stream_name(obj) || Misc.fingerprint(obj)}: #{$!.message}"
|
382
386
|
stream = obj_stream(obj)
|
@@ -386,7 +390,7 @@ module TSV
|
|
386
390
|
raise $!
|
387
391
|
ensure
|
388
392
|
q.clean
|
389
|
-
Log::ProgressBar.remove_bar(bar) if bar
|
393
|
+
Log::ProgressBar.remove_bar(bar, error) if bar
|
390
394
|
end
|
391
395
|
end
|
392
396
|
|
@@ -147,5 +147,21 @@ module Log
|
|
147
147
|
print(io, up_lines(@depth) << done_msg << down_lines(@depth))
|
148
148
|
Open.rm @file if @file and Open.exists? @file
|
149
149
|
end
|
150
|
+
|
151
|
+
def error(io = STDERR)
|
152
|
+
done_msg = Log.color(:magenta, desc) << " " << Log.color(:red, "error")
|
153
|
+
if @start
|
154
|
+
ellapsed = (Time.now - @start).to_i
|
155
|
+
else
|
156
|
+
ellapsed = 0
|
157
|
+
end
|
158
|
+
ellapsed = [ellapsed/3600, ellapsed/60 % 60, ellapsed % 60].map{|t| "%02i" % t }.join(':')
|
159
|
+
done_msg << " " << Log.color(:blue, (@ticks).to_s) << " in " << Log.color(:green, ellapsed)
|
160
|
+
@last_count = 0
|
161
|
+
@last_time = @start
|
162
|
+
done_msg << " (" << thr_msg << ")"
|
163
|
+
print(io, up_lines(@depth) << done_msg << down_lines(@depth))
|
164
|
+
Open.rm @file if @file and Open.exists? @file
|
165
|
+
end
|
150
166
|
end
|
151
167
|
end
|
@@ -57,8 +57,12 @@ module Log
|
|
57
57
|
end
|
58
58
|
end
|
59
59
|
|
60
|
-
def self.remove_bar(bar)
|
61
|
-
|
60
|
+
def self.remove_bar(bar, error = false)
|
61
|
+
if error
|
62
|
+
bar.error if bar.respond_to? :error
|
63
|
+
else
|
64
|
+
bar.done if bar.respond_to? :done
|
65
|
+
end
|
62
66
|
BAR_MUTEX.synchronize do
|
63
67
|
REMOVE << bar
|
64
68
|
end
|
@@ -184,7 +184,14 @@ class Step
|
|
184
184
|
case type
|
185
185
|
when :produce, :no_dup
|
186
186
|
list.each do |step|
|
187
|
-
|
187
|
+
Misc.insist do
|
188
|
+
begin
|
189
|
+
step.produce
|
190
|
+
rescue
|
191
|
+
step.abort
|
192
|
+
raise $!
|
193
|
+
end
|
194
|
+
end
|
188
195
|
nil
|
189
196
|
end
|
190
197
|
when :bootstrap
|
@@ -193,7 +200,14 @@ class Step
|
|
193
200
|
cpus = list.length / 2 if cpus > list.length / 2
|
194
201
|
|
195
202
|
Misc.bootstrap(list, cpus, :bar => "Bootstrapping dependencies for #{path}", :respawn => :always) do |dep|
|
196
|
-
|
203
|
+
Misc.insist do
|
204
|
+
begin
|
205
|
+
dep.produce
|
206
|
+
rescue
|
207
|
+
dep.abort
|
208
|
+
raise $!
|
209
|
+
end
|
210
|
+
end
|
197
211
|
nil
|
198
212
|
end
|
199
213
|
else
|
@@ -46,7 +46,7 @@ end
|
|
46
46
|
|
47
47
|
def report_msg(status, name, path)
|
48
48
|
|
49
|
-
parts = path.sub(/#{Regexp.quote(name)}$/,'').split "/"
|
49
|
+
parts = path.sub(/\{.*/,'').sub(/#{Regexp.quote(name)}$/,'').split "/"
|
50
50
|
|
51
51
|
task = Log.color(:yellow, parts.pop)
|
52
52
|
workflow = Log.color(:magenta, parts.pop)
|
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.20.
|
4
|
+
version: 5.20.15
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Miguel Vazquez
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-06-
|
11
|
+
date: 2016-06-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|