rbbt-util 5.33.20 → 5.34.1
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/hpc/orchestrate.rb +1 -0
- data/lib/rbbt/util/misc/inspect.rb +2 -1
- data/lib/rbbt/util/misc/pipes.rb +9 -1
- data/lib/rbbt/util/open.rb +2 -1
- data/lib/rbbt/workflow.rb +19 -2
- data/share/rbbt_commands/hpc/list +1 -1
- data/share/rbbt_commands/lsf/list +1 -1
- data/share/rbbt_commands/slurm/list +1 -1
- data/share/rbbt_commands/workflow/prov +1 -1
- data/share/rbbt_commands/workflow/task +1 -1
- data/test/rbbt/util/misc/test_pipes.rb +37 -0
- data/test/rbbt/util/test_open.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: dce81f37830228a43c702909b856ebf661002d17b49614d67b6c04e16d339d4b
|
|
4
|
+
data.tar.gz: d7cb5ef82e50da2287c4bf9cf3912d66e36c27bb72a1c1c702d86cf7d1e8df78
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: fd9ad6b40180ef8cdc5a8e8335f291e557543f14cdd0cbc6760e7dd6f1327a5a73b5be92b1c037ccd46bca8596c86e7bf6eb7221989e9edac52ad34e81ad4e45
|
|
7
|
+
data.tar.gz: 72798bb53863c93aa768edc6c523d34e682dc374ebf4fe0307590faddb9022237a49f0556de364e7139345b35504b6d19b9c134abf8d0ae751a38c1d2c0331f7
|
data/lib/rbbt/hpc/orchestrate.rb
CHANGED
|
@@ -56,7 +56,8 @@ module Misc
|
|
|
56
56
|
":" << obj.to_s
|
|
57
57
|
when String
|
|
58
58
|
if obj.length > 100
|
|
59
|
-
|
|
59
|
+
digest = Misc.digest(obj)
|
|
60
|
+
"'" << obj.slice(0,30) << "<...#{obj.length} - #{digest[0..4]}...>" << obj.slice(-10,30)<< "'"
|
|
60
61
|
else
|
|
61
62
|
"'" << obj << "'"
|
|
62
63
|
end
|
data/lib/rbbt/util/misc/pipes.rb
CHANGED
|
@@ -92,7 +92,6 @@ module Misc
|
|
|
92
92
|
ConcurrentStream.setup sout, :pids => [pid]
|
|
93
93
|
else
|
|
94
94
|
|
|
95
|
-
|
|
96
95
|
ConcurrentStream.setup sin, :pair => sout
|
|
97
96
|
ConcurrentStream.setup sout, :pair => sin
|
|
98
97
|
|
|
@@ -782,4 +781,13 @@ module Misc
|
|
|
782
781
|
ConcurrentStream.setup out, :threads => monitor_thread
|
|
783
782
|
end
|
|
784
783
|
|
|
784
|
+
def self.open_gz_pipe
|
|
785
|
+
sout = Misc.open_pipe do |sin|
|
|
786
|
+
yield sin
|
|
787
|
+
sin.close
|
|
788
|
+
end
|
|
789
|
+
|
|
790
|
+
Open.gzip(sout)
|
|
791
|
+
end
|
|
792
|
+
|
|
785
793
|
end
|
data/lib/rbbt/util/open.rb
CHANGED
|
@@ -678,7 +678,7 @@ module Open
|
|
|
678
678
|
if Open.exists? notification_file
|
|
679
679
|
key = Open.read(notification_file).strip
|
|
680
680
|
key = nil if key.empty?
|
|
681
|
-
if key.include?("@")
|
|
681
|
+
if key && key.include?("@")
|
|
682
682
|
to = from = key
|
|
683
683
|
subject = "Wrote " << file
|
|
684
684
|
message = "Content attached"
|
|
@@ -748,6 +748,7 @@ module Open
|
|
|
748
748
|
raise $!
|
|
749
749
|
end
|
|
750
750
|
content.close
|
|
751
|
+
content.join if content.respond_to? :join
|
|
751
752
|
end
|
|
752
753
|
end
|
|
753
754
|
|
data/lib/rbbt/workflow.rb
CHANGED
|
@@ -414,7 +414,7 @@ module Workflow
|
|
|
414
414
|
end if task.required_inputs
|
|
415
415
|
|
|
416
416
|
if missing_inputs.length == 1
|
|
417
|
-
raise ParameterException, "Input #{missing_inputs.first} is required but was not provided or is nil"
|
|
417
|
+
raise ParameterException, "Input '#{missing_inputs.first}' is required but was not provided or is nil"
|
|
418
418
|
end
|
|
419
419
|
|
|
420
420
|
if missing_inputs.length > 1
|
|
@@ -542,8 +542,17 @@ module Workflow
|
|
|
542
542
|
step_path = step_path.call if Proc === step_path
|
|
543
543
|
persist = input_values.nil? ? false : true
|
|
544
544
|
persist = false
|
|
545
|
+
|
|
546
|
+
if ! (Path === step_path ? step_path.find : File.exists?(step_path)) && step_path.split("/").length == 3 && File.exists?(new_path = Rbbt.var.jobs[step_path].find)
|
|
547
|
+
step_path = new_path
|
|
548
|
+
end
|
|
549
|
+
|
|
545
550
|
key = Path === step_path ? step_path.find : step_path
|
|
546
551
|
|
|
552
|
+
if ! File.exists?(step_path) && step_path.split("/").length == 3 && File.exists?(new_path = Rbbt.var.jobs[step_path].find)
|
|
553
|
+
step_path = new_path
|
|
554
|
+
end
|
|
555
|
+
|
|
547
556
|
step = Step.new step_path, task, input_values, dependencies
|
|
548
557
|
|
|
549
558
|
set_step_dependencies(step) unless dependencies
|
|
@@ -703,7 +712,15 @@ module Workflow
|
|
|
703
712
|
|
|
704
713
|
def self.load_step(path)
|
|
705
714
|
path = Path.setup(path.dup) unless Path === path
|
|
706
|
-
|
|
715
|
+
|
|
716
|
+
if ! (Path === path ? path.exists? : File.exists?(path)) && path.split("/").length == 3
|
|
717
|
+
new_path = Rbbt.var.jobs[path]
|
|
718
|
+
if new_path.exists? || new_path.set_extension('info').exists?
|
|
719
|
+
path = new_path
|
|
720
|
+
end
|
|
721
|
+
end
|
|
722
|
+
|
|
723
|
+
path = path.find if Path === path
|
|
707
724
|
|
|
708
725
|
begin
|
|
709
726
|
_load_step(path)
|
|
@@ -284,4 +284,41 @@ line4
|
|
|
284
284
|
end
|
|
285
285
|
end
|
|
286
286
|
end
|
|
287
|
+
|
|
288
|
+
def test_gz_pipe
|
|
289
|
+
text =<<-EOF
|
|
290
|
+
line1
|
|
291
|
+
line2
|
|
292
|
+
line3
|
|
293
|
+
line4
|
|
294
|
+
EOF
|
|
295
|
+
|
|
296
|
+
TmpFile.with_file nil, :extension => 'txt.gz' do |file|
|
|
297
|
+
sout = Misc.open_gz_pipe do |sin|
|
|
298
|
+
text.split("\n").each do |line|
|
|
299
|
+
sin.puts line
|
|
300
|
+
end
|
|
301
|
+
end
|
|
302
|
+
|
|
303
|
+
Open.mkdir File.basename(file)
|
|
304
|
+
thr1 = Misc.consume_stream(sout, true, file)
|
|
305
|
+
thr1.join
|
|
306
|
+
assert Open.gzip?(file)
|
|
307
|
+
assert_equal text, Open.read(file)
|
|
308
|
+
end
|
|
309
|
+
end
|
|
310
|
+
|
|
311
|
+
def test_open_pipe_error
|
|
312
|
+
sout = Misc.open_pipe do |sin|
|
|
313
|
+
10.times do |i|
|
|
314
|
+
sin.puts "line #{i}"
|
|
315
|
+
end
|
|
316
|
+
raise
|
|
317
|
+
end
|
|
318
|
+
|
|
319
|
+
TmpFile.with_file do |tmp|
|
|
320
|
+
#Misc.consume_stream(sout, false, tmp)
|
|
321
|
+
Open.write(tmp, sout)
|
|
322
|
+
end
|
|
323
|
+
end
|
|
287
324
|
end
|
data/test/rbbt/util/test_open.rb
CHANGED
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.
|
|
4
|
+
version: 5.34.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Miguel Vazquez
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2022-
|
|
11
|
+
date: 2022-06-07 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rake
|