rbbt-util 5.23.38 → 5.23.39

Sign up to get free protection for your applications and to get access to all the features.
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