rbbt-util 5.23.19 → 5.23.20
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/rbbt/util/log/progress/report.rb +2 -0
- data/lib/rbbt/util/open.rb +1 -0
- data/lib/rbbt/workflow.rb +4 -1
- data/lib/rbbt/workflow/accessor.rb +2 -1
- data/lib/rbbt/workflow/step/dependencies.rb +8 -4
- 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: d092d9923d01da9560a5e01b1da4d1d997acb866
|
4
|
+
data.tar.gz: 7d6ab5b9b06cfb2eb4ac7cdee01f6e40a3103e51
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 26aae362cb13a519b16c78fa497655b45b9d5de49119607c677d65e8ecc0e25cfe7f09ca4fb008b35d7894b372cd97ee1cab26fbc1614debf79b5204d171b0c3
|
7
|
+
data.tar.gz: 9e78df0466cb39d1329e44a26d4d0559c557ab3967b70b1c6565c9b45d17ccbab1ca740e44e42c18241ce3c293e8b1b075c87b68d92dbd197294fa6da39f1e62
|
data/lib/rbbt/util/open.rb
CHANGED
data/lib/rbbt/workflow.rb
CHANGED
@@ -470,7 +470,10 @@ module Workflow
|
|
470
470
|
def self.relocate(real, other)
|
471
471
|
preal = real.split(/\/+/)
|
472
472
|
pother = other.split(/\/+/)
|
473
|
-
|
473
|
+
end_part = pother[-3..-1] * "/"
|
474
|
+
new_path = preal[0..-4] * "/" << end_part
|
475
|
+
return new_path if File.exists? new_path
|
476
|
+
Rbbt.var.jobs[end_part].find
|
474
477
|
end
|
475
478
|
|
476
479
|
def self.load_step(path)
|
@@ -1038,7 +1038,8 @@ module Workflow
|
|
1038
1038
|
when :hash
|
1039
1039
|
clean_inputs = Annotated.purge(inputs)
|
1040
1040
|
clean_inputs = clean_inputs.collect{|i| Symbol === i ? i.to_s : i }
|
1041
|
-
|
1041
|
+
deps_str = dependencies.collect{|d| Step === d ? d.short_path : d }
|
1042
|
+
key_obj = {:inputs => clean_inputs, :dependencies => deps_str }
|
1042
1043
|
key_str = Misc.obj2str(key_obj)
|
1043
1044
|
hash_str = Misc.digest(key_str)
|
1044
1045
|
#Log.debug "Hash for '#{[taskname, jobname] * "/"}' #{hash_str} for #{key_str}"
|
@@ -85,6 +85,7 @@ class Step
|
|
85
85
|
status = job.status.to_s
|
86
86
|
|
87
87
|
if (status == 'error' && (job.recoverable_error? || job.dirty?)) ||
|
88
|
+
(job.noinfo? && Open.exists?(job.pid_file)) ||
|
88
89
|
job.aborted? ||
|
89
90
|
(job.done? && ! job.updated?) || (job.error? && ! job.updated?) ||
|
90
91
|
(job.done? && job.dirty?) || (job.error? && job.dirty?) ||
|
@@ -118,6 +119,8 @@ class Step
|
|
118
119
|
|
119
120
|
def execute_dependency(dependency, log = true)
|
120
121
|
task_name = self.task_name
|
122
|
+
canfail_paths = self.canfail_paths
|
123
|
+
already_failed = []
|
121
124
|
begin
|
122
125
|
|
123
126
|
dependency.resolve_input_steps
|
@@ -132,17 +135,18 @@ class Step
|
|
132
135
|
end
|
133
136
|
|
134
137
|
dependency.status_lock.synchronize do
|
135
|
-
if dependency.aborted?
|
138
|
+
if dependency.aborted? || (dependency.error? && dependency.recoverable_error? && ! canfail_paths.include?(dependency.path) && ! already_failed << dependency.path) || (!Open.remote?(dependency.path) && dependency.missing?)
|
136
139
|
Log.warn "Cleaning dep. on exec #{Log.color :blue, dependency.path} (missing: #{dependency.missing?}; error #{dependency.error?})"
|
137
140
|
dependency.clean
|
141
|
+
already_failed << dependency.path
|
138
142
|
raise TryAgain
|
139
143
|
end
|
140
144
|
end
|
141
145
|
|
142
|
-
if ! dependency.started?
|
146
|
+
if ! (dependency.started? || dependency.error?)
|
143
147
|
log_dependency_exec(dependency, :starting)
|
144
148
|
dependency.run(true)
|
145
|
-
|
149
|
+
raise TryAgain
|
146
150
|
end
|
147
151
|
|
148
152
|
dependency.grace
|
@@ -302,7 +306,7 @@ class Step
|
|
302
306
|
Set.new(info[:canfail_paths])
|
303
307
|
else
|
304
308
|
canfail_paths = Set.new
|
305
|
-
all_deps =
|
309
|
+
all_deps = dependencies
|
306
310
|
all_deps.each do |dep|
|
307
311
|
next if canfail_paths.include? dep.path
|
308
312
|
next unless ComputeDependency === dep && dep.canfail?
|
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.23.
|
4
|
+
version: 5.23.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: 2018-08-
|
11
|
+
date: 2018-08-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|