rbbt-util 5.26.30 → 5.26.31

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
  SHA256:
3
- metadata.gz: '0308a2f99f209b9cc7998236c310dbe369138865f98a6c5b9306ea7b0f521bd8'
4
- data.tar.gz: bda77f79ef3a220bfb276dc60323cbfcbe37737509262616df96270667633c74
3
+ metadata.gz: cb2336c9d10c8c90f466b98d533accfa60cd2d7485ef3172df146891d5d35c62
4
+ data.tar.gz: 4033671c874b9aaf6b9313291010aea9979110b9075377f6018b18495be08516
5
5
  SHA512:
6
- metadata.gz: 045a1b97972840dbb4ecfb19575d577b1a95fd0c79b7a342052f0145de634940d76b56a12796fce0de895bf2507a08da332f02ff6772ffca916cbe6b0244698b
7
- data.tar.gz: 13655de57e12aca1fcc21654c2615719559a03e52211e4437558b958c5eee04e1995c5844c3a346d88d5b48cafbf5db96175e3887934597fd49673a55be66d44
6
+ metadata.gz: 0bde169f4c862fd7dd2752bfb9c4dc3083a1c90547cd069ab5c9618c7e4b3ac1502fb8c5392608e06f3d04f1bc2166bce67d3538f5be14ef574f36de218468ca
7
+ data.tar.gz: e870e508f1923b918538f1ddf390cbbfac08b0daf926758937e3fd5e0553749c2222d8f54d1953f934a90ebe7253ea5711b12b9adf07aebb6b248f74551408e0
data/lib/rbbt/hpc.rb CHANGED
@@ -259,12 +259,12 @@ EOF
259
259
  target = File.expand_path(sync)
260
260
  coda +=<<-EOF
261
261
  rsync -avt "#{source}/" "#{target}/" &>> #{fsync}
262
+ sync_es="$?"
262
263
  find '#{target}' -type l -ls | awk '$13 ~ /^#{target.gsub('/','\/')}/ { sub("#{source}", "#{target}", $13); print $11, $13 }' | while read A B; do rm $A; ln -s $B $A; done
263
264
  EOF
264
265
 
265
266
  if contain && (wipe_container == "post" || wipe_container == "both")
266
267
  coda +=<<-EOF
267
- sync_es="$?"
268
268
  singularity exec -e -C -H "$CONTAINER_DIR" "$SINGULARITY_IMG" rbbt system clean -f &>> #{fsync}
269
269
  singularity exec -e -C -H "$CONTAINER_DIR" "$SINGULARITY_IMG" rm -v /dev/shm/sem.*.{in,out,process} /dev/shm/sem.Session-PID.*.sem 2> /dev/null >> #{fsync}
270
270
  if [ $sync_es == '0' ]; then
data/lib/rbbt/workflow.rb CHANGED
@@ -511,6 +511,18 @@ module Workflow
511
511
  Rbbt.var.jobs[end_part].find
512
512
  end
513
513
 
514
+ def self.relocate_dependency(main, dep)
515
+ dep_path = dep.path
516
+ path = main.path
517
+ if Open.exists?(dep_path) || Open.exists?(dep_path + '.info')
518
+ dep
519
+ else
520
+ new_path = relocate(path, dep_path)
521
+ relocated = true if Open.exists?(new_path) || Open.exists?(new_path + '.info')
522
+ Workflow._load_step new_path
523
+ end
524
+ end
525
+
514
526
  def self.__load_step(path)
515
527
  step = Step.new path
516
528
  relocated = false
@@ -519,7 +531,7 @@ module Workflow
519
531
  Workflow._load_step dep_path
520
532
  else
521
533
  new_path = relocate(path, dep_path)
522
- relocated = true if Open.exists?(new_path)
534
+ relocated = true if Open.exists?(new_path) || Open.exists?(new_path + '.info')
523
535
  Workflow._load_step new_path
524
536
  end
525
537
  end
@@ -534,12 +546,12 @@ module Workflow
534
546
  class << step
535
547
  def dependencies
536
548
  @dependencies ||= (self.info[:dependencies] || []).collect do |task,name,dep_path|
537
- dep = if Open.exists?(dep_path)
549
+ dep = if Open.exists?(dep_path) || Open.exists?(dep_path + '.info')
538
550
  relocate = false
539
551
  Workflow.fast_load_step dep_path
540
552
  else
541
553
  new_path = Workflow.relocate(path, dep_path)
542
- relocated = true if Open.exists?(new_path)
554
+ relocated = true if Open.exists?(new_path) || Open.exists?(new_path + '.info')
543
555
  Workflow.fast_load_step new_path
544
556
  end
545
557
  dep.relocated = relocated
@@ -112,13 +112,14 @@ class Step
112
112
  end
113
113
 
114
114
  def updatable?
115
- (ENV["RBBT_UPDATE_ALL_JOBS"] == 'true' || Open.exists?(info_file)) && ! relocated?
115
+ (ENV["RBBT_UPDATE_ALL_JOBS"] == 'true' || Open.exists?(info_file)) && ! (relocated? && done?)
116
116
  end
117
117
 
118
118
  def dependency_checks
119
119
  rec_dependencies.
120
120
  select{|dependency| ! (defined? WorkflowRESTClient and WorkflowRESTClient::RemoteStep === dependency) }.
121
- select{|dependency| ! Open.exists?(dependency.path) }.
121
+ collect{|dependency| Workflow.relocate_dependency self, dependency}.
122
+ select{|dependency| Open.exists?(dependency.path) || Open.exists?(dependency.info_file) }.
122
123
  select{|dependency| ! Open.remote?(dependency.path) }.
123
124
  select{|dependency| dependency.updatable? }.
124
125
  select{|dependency| ! dependency.error? }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbbt-util
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.26.30
4
+ version: 5.26.31
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miguel Vazquez