libis-workflow 2.1.8 → 2.1.10
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/libis/workflow/base/job.rb +2 -0
- data/lib/libis/workflow/task.rb +17 -3
- data/lib/libis/workflow/version.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: 1dc320ccf41f1ec673274778ff2cec80ff5d4e0833706b019e2fa6faa34c9cd6
|
4
|
+
data.tar.gz: 94142b587e3722ff66d5b0c9c5217d58985b067809360152a4079707f169091e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ba1df60123766f9af303be678988bf390eb83cd8df6e63108bede48bb157f2fd4fee206e6778fd5d7c029221f176e484608fd3704d909ca2886360d723d8a524
|
7
|
+
data.tar.gz: d28c97c7b4907241ca2bb9920e9cfb912381db8a48ee6638f5e063d6c93975b8bfa91319d56869b22c01ca09244298061352487aae8f120b73e988a29a395f7d
|
@@ -64,8 +64,10 @@ module Libis
|
|
64
64
|
|
65
65
|
run.job = self
|
66
66
|
(opts.delete('run_config') || {}).each { |key,value| run.send("#{key}=", value) }
|
67
|
+
(opts.delete('run_properties') || {}).each { |key,value| run.properties[key] = value }
|
67
68
|
run.options = self.input.merge(opts)
|
68
69
|
run.save!
|
70
|
+
run.reload
|
69
71
|
|
70
72
|
run.run
|
71
73
|
|
data/lib/libis/workflow/task.rb
CHANGED
@@ -38,6 +38,10 @@ module Libis
|
|
38
38
|
raise Libis::WorkflowError, "Processing task '#{namepath}' is not allowed to have subtasks."
|
39
39
|
end
|
40
40
|
|
41
|
+
def root_task
|
42
|
+
parent&.root_task || self
|
43
|
+
end
|
44
|
+
|
41
45
|
# @param [Libis::Workflow::Base::WorkItem] item
|
42
46
|
def run(item)
|
43
47
|
check_item_type ::Libis::Workflow::Base::WorkItem, item
|
@@ -232,16 +236,22 @@ module Libis
|
|
232
236
|
|
233
237
|
end
|
234
238
|
|
235
|
-
# noinspection RubyScope
|
236
|
-
debug '%d of %d subitems passed', parent_item, status_count[:DONE], items.size
|
237
239
|
substatus_check(status_count, parent_item, 'item')
|
238
240
|
end
|
239
241
|
|
242
|
+
def global_status(item)
|
243
|
+
results = Hash.new(0)
|
244
|
+
self.tasks.each { |subtask| results[item.status(subtask.namepath)] += 1 }
|
245
|
+
[:FAILED, :ASYNC_WAIT, :ASYNC_HALT].each { |status| return status if results[status] > 0 }
|
246
|
+
return :FAILED if results[:STARTED] > 1
|
247
|
+
:DONE
|
248
|
+
end
|
249
|
+
|
240
250
|
def substatus_check(status_count, item, task_or_item)
|
241
251
|
item_status = :DONE
|
242
252
|
|
243
253
|
if (not_started = status_count[:NOT_STARTED]) > 0
|
244
|
-
|
254
|
+
debug "%d sub#{task_or_item}(s) skipped", item, not_started
|
245
255
|
end
|
246
256
|
|
247
257
|
if (started = status_count[:STARTED]) > 0
|
@@ -264,6 +274,10 @@ module Libis
|
|
264
274
|
item_status = :FAILED
|
265
275
|
end
|
266
276
|
|
277
|
+
if (done = status_count[:DONE]) > 0
|
278
|
+
debug "%d sub#{task_or_item}(s) passed", item, done
|
279
|
+
end
|
280
|
+
|
267
281
|
set_status(item, item_status)
|
268
282
|
end
|
269
283
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
module Libis
|
2
2
|
module Workflow
|
3
|
-
VERSION = '2.1.
|
3
|
+
VERSION = '2.1.10' unless const_defined? :VERSION # the guard is against a redefinition warning that happens on Travis
|
4
4
|
end
|
5
5
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: libis-workflow
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kris Dekeyser
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-08-
|
11
|
+
date: 2023-08-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|