rbbt-util 5.23.38 → 5.23.39

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3ce625d15c58bd07cdb4850b460a4034d569f691
4
- data.tar.gz: 30801ee36aab9d59c5e918783021efd8c7239af4
3
+ metadata.gz: 32c23558db95c8f8705eb13a20976b239298f57c
4
+ data.tar.gz: 0ddc962a3b40fdb2833b45e214a5184a823d0c90
5
5
  SHA512:
6
- metadata.gz: 6d97c2f99187ee64dcb1f7b3f24deef87b48a250fc9884ba92d0be027aa1e7e624db0193fa1252d48efd75f22ed6c6edc9fe409fdcf7f747993ab5075aa6c811
7
- data.tar.gz: 0ad3ff30448b979ef9ccee77d7437cd28c0cb5b2cf79cffafa66376d74c5c022261348f9d88f3118827072ed99a2bfe02ec5f9e4749872caac7aa954ba817673
6
+ metadata.gz: '088916661e196d378f49cd12001cba1dfca3b7c1b0930b2a751c8562395f82a1f35cb0bafaead17c4bda032628ae00d109f382c93043790e69fa8fbe64c7ede7'
7
+ data.tar.gz: 957b85fc91e9fdd5cc4913eda388cdb60b22c55424b55e9d304726769ba277bf88b2e926a5ebbceb46ea834923457591ecfc178f0ae2e4b71959c6656b60986a
data/lib/rbbt/util/cmd.rb CHANGED
@@ -127,14 +127,6 @@ module CMD
127
127
  rescue
128
128
  Log.error "Error in CMD [#{pid}] #{cmd}: #{$!.message}"
129
129
  raise $!
130
- # begin
131
- # Process.kill "INT", pid
132
- # #parent.raise $!
133
- # ensure
134
- # raise $!
135
- # end
136
- #ensure
137
- # #sin.close unless sin.closed?
138
130
  end
139
131
  end
140
132
  else
@@ -912,12 +912,9 @@ module Workflow
912
912
  _inputs
913
913
  end
914
914
 
915
- def real_dependencies(task, orig_jobname, inputs, dependencies)
916
- real_dependencies = []
917
- path_deps = {}
918
-
915
+ def override_dependencies(inputs)
919
916
  override_dependencies = IndiferentHash.setup({})
920
-
917
+ return override_dependencies if inputs.nil?
921
918
  inputs.each do |key,value|
922
919
  if String === key && m = key.match(/(.*)#(.*)/)
923
920
  workflow, task = m.values_at 1, 2
@@ -926,6 +923,14 @@ module Workflow
926
923
  override_dependencies[workflow][task] = value
927
924
  end
928
925
  end
926
+ override_dependencies
927
+ end
928
+
929
+ def real_dependencies(task, orig_jobname, inputs, dependencies)
930
+ real_dependencies = []
931
+ path_deps = {}
932
+
933
+ override_dependencies = override_dependencies(inputs)
929
934
 
930
935
  dependencies.each do |dependency|
931
936
  _inputs = IndiferentHash.setup(inputs.dup)
@@ -938,8 +943,9 @@ module Workflow
938
943
 
939
944
  if override_dependencies[workflow.to_s] && value = override_dependencies[workflow.to_s][dep_task]
940
945
  d_ = Step === value ? value : Workflow.load_step(value)
941
- d_.task = workflow.tasks[dep_task]
942
- d_.workflow = workflow
946
+ d_.task_name = dep_task
947
+ #d_.task = workflow.tasks[dep_task]
948
+ #d_.workflow = workflow
943
949
  d_.overriden = true
944
950
  d_
945
951
  else
@@ -960,8 +966,9 @@ module Workflow
960
966
  when Symbol
961
967
  if override_dependencies[self.to_s] && value = override_dependencies[self.to_s][dependency]
962
968
  d_ = Step === value ? value : Workflow.load_step(value)
963
- d_.task = self.tasks[dependency]
964
- d_.workflow = self
969
+ d_.task_name = dependency
970
+ #d_.task = self.tasks[dependency]
971
+ #d_.workflow = self
965
972
  d_.overriden = true
966
973
  d_
967
974
  else
@@ -988,8 +995,9 @@ module Workflow
988
995
  d[:task] ||= task_name
989
996
  if override_dependencies[d[:workflow].to_s] && value = override_dependencies[d[:workflow].to_s][d[:task]]
990
997
  d = (Step === value ? value : Workflow.load_step(value))
991
- d.task = d[:workflow].tasks[d[:task]]
992
- d.workflow = self
998
+ d.task_name = d[:task]
999
+ #d.task = d[:workflow].tasks[d[:task]]
1000
+ #d.workflow = self
993
1001
  d.overriden = true
994
1002
  d
995
1003
  else
@@ -1010,9 +1018,11 @@ module Workflow
1010
1018
  dep[:workflow] ||= wf || self
1011
1019
  if override_dependencies[dep[:workflow].to_s] && value = override_dependencies[dep[:workflow].to_s][dep[:task]]
1012
1020
  dep = (Step === value ? value : Workflow.load_step(value))
1013
- dep.task = d[:workflow].tasks[d[:task]]
1014
- dep.workflow = self
1021
+ dep.task_name = d[:task]
1022
+ #dep.task = d[:workflow].tasks[d[:task]]
1023
+ #dep.workflow = self
1015
1024
  dep.overriden = true
1025
+ dep
1016
1026
  else
1017
1027
  task_info = (dep[:task] && dep[:workflow]) ? dep[:workflow].task_info(dep[:task]) : nil
1018
1028
  inputs = assign_dep_inputs({}, dep[:inputs], real_dependencies, task_info)
@@ -674,8 +674,9 @@ class Step
674
674
  dependencies.each{|dep| dep.join }
675
675
  else
676
676
  begin
677
+ pid = pid.to_i if String === pid
677
678
  Log.debug{"Waiting for pid: #{pid}"}
678
- Process.waitpid pid
679
+ Process.waitpid pid
679
680
  rescue Errno::ECHILD
680
681
  Log.debug{"Process #{ pid } already finished: #{ path }"}
681
682
  end if Misc.pid_exists? pid
@@ -104,8 +104,12 @@ class Step
104
104
  rec_dependencies.each do |dep|
105
105
  next unless NamedArray === dep.inputs
106
106
  dep.inputs.zip(dep.inputs.fields).each do |v,f|
107
- next if i.include?(f)
108
- i[f] = v
107
+ if i.include?(f) && i[f] != v
108
+ Log.debug "Conflict in #{ f }: #{[i[f].inspect, v.inspect] * " <-> "}"
109
+ i[f] = nil
110
+ else
111
+ i[f] = v
112
+ end
109
113
  end
110
114
  end
111
115
  #dependencies.each do |dep|
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.38
4
+ version: 5.23.39
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-12-03 00:00:00.000000000 Z
11
+ date: 2018-12-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake