rbbt-util 5.20.14 → 5.20.15
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 +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
|