rbbt-util 5.30.0 → 5.30.1

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
  SHA256:
3
- metadata.gz: b0e0e6d9165c16d73d1122a8d85e8038befd335215646bc3779400f5747b4b07
4
- data.tar.gz: 7c0e92d49399111157fae43149c7ec8e598aa64510591fc2f74314bbefc89b2d
3
+ metadata.gz: 0275d0f8a0922abe3e0abee0f02935fb6e393452a68c0cad86de075b153a8457
4
+ data.tar.gz: 8a182bd87be2e1b4c538d0faaf8a16848e8f077c9f61f96f6df67ca07dd222f6
5
5
  SHA512:
6
- metadata.gz: 6f1ecdb8ea4481b12138f6b63d2508f888ad60d42b56cc187ac74e3d705bb40db76d52f7e615bbd3b7fba74e49298325dcf7e5477f5527e55aa4a42e6744586d
7
- data.tar.gz: 5b3761d1300940911383fc0659a4335b422db217a9118a0fd41ebd2374cec87884775564f003d5a0a14555eff68fcac7b70c68c3cea72c6d802908a48b8b514c
6
+ metadata.gz: 02fd852c70355b89d187db04c52f27207012a2fe00f1fd7f414b95bea86bf47c3d19b0b766fa12d8520ee7c9270dfde369ce2a0c1dc60595e7a9b8062a176b92
7
+ data.tar.gz: 69591fffbf60d68a57dc319692adff4f4f28bb46d9b378fa23a0b01c55303b780d058f1e4ab1f41be52c43abb48ac8db7962e96f77fb2765f6f8f74587ee8825
@@ -83,7 +83,7 @@ module HPC
83
83
 
84
84
  deps = seen[dep.path] ||= self.orchestrate_job(dep, options, skip_dep, seen)
85
85
  if job.canfail_paths.include? dep.path
86
- [deps].flatten.collect{|id| ['canfail', id] * ":"}
86
+ [deps].flatten.compact.collect{|id| ['canfail', id] * ":"}
87
87
  else
88
88
  deps
89
89
  end
@@ -525,7 +525,10 @@ EOF
525
525
  tail = options.delete :tail
526
526
  dependencies = options.delete :slurm_dependencies
527
527
  procpath = options.delete :SLURM_procpath
528
+
528
529
  options[:jobname] = job.clean_name
530
+ log_level = options.delete :log
531
+ log_level ||= Log.severity
529
532
 
530
533
  workflow = job.workflow
531
534
 
@@ -550,16 +553,13 @@ EOF
550
553
  inputs_dir = File.join(tmp_directory, 'inputs_dir')
551
554
  saved = Step.save_job_inputs(job, inputs_dir)
552
555
 
553
- if saved && saved.any?
554
- options[:inputs_dir] = inputs_dir
555
- cmd = ['workflow', 'task', workflow.to_s, task.to_s, '--printpath', '--load_inputs', inputs_dir, '--log', (options[:log] || Log.severity).to_s]
556
- else
557
- cmd = ['workflow', 'task', workflow.to_s, task.to_s, '--printpath', '--log', (options[:log] || Log.severity).to_s]
558
- end
556
+ cmd = ['workflow', 'task', workflow.to_s, task.to_s, '--printpath', '--log', log_level.to_s]
557
+
558
+ cmd << "--procpath_performance='#{tmp_directory}/procpath##{procpath.gsub(',', '#')}'" if procpath
559
559
 
560
560
  cmd << "--override_deps='#{override_deps.gsub("'", '\'')}'" if override_deps and not override_deps.empty?
561
561
 
562
- cmd << "--procpath_performance='#{tmp_directory}/procpath##{procpath.gsub(',', '#')}'" if procpath
562
+ cmd << "--load_inputs='#{inputs_dir}'" if saved && saved.any?
563
563
 
564
564
  template = self.template(cmd, options)
565
565
  jobid = self.issue_template(template, options.merge(:slurm_basedir => slurm_basedir, :dry_run => dry_run, :slurm_dependencies => dependencies))
@@ -133,11 +133,7 @@ module Persist
133
133
  def read_lock
134
134
  read if closed?
135
135
  if read?
136
- begin
137
- return yield
138
- ensure
139
- close
140
- end
136
+ return yield
141
137
  end
142
138
 
143
139
  lock do
data/lib/rbbt/tsv.rb CHANGED
@@ -113,8 +113,8 @@ module TSV
113
113
 
114
114
  data.entity_options = entity_options
115
115
 
116
- if Path === source and data.identifiers
117
- data.identifiers = Path.setup(data.identifiers, source.pkgdir, source.resource)
116
+ if Path === source && data.identifiers
117
+ Path.setup(data.identifiers, source.pkgdir, source.resource)
118
118
  end
119
119
 
120
120
  if data.respond_to? :persistence_path
@@ -124,6 +124,10 @@ module TSV
124
124
  data.clear
125
125
  data.annotate h
126
126
  end
127
+
128
+ data.read
129
+
130
+ data
127
131
  end
128
132
 
129
133
  def self.parse_header(stream, options = {})
@@ -71,7 +71,7 @@ workdir.glob("**/command.slurm").sort_by{|f| File.mtime(f)}.each do |fcmd|
71
71
  end
72
72
 
73
73
  if m = Open.read(fcmd).match(/# Run command\n(.*?)\n/im)
74
- exe = m[1]
74
+ exe = m[1].sub('step_path=$(','')
75
75
  else
76
76
  exe = nil
77
77
  end
@@ -410,10 +410,20 @@ begin
410
410
 
411
411
  if options[:procpath_performance]
412
412
  require 'rbbt/util/procpath'
413
+ current_pid = job.info[:pid]
413
414
  job.fork
414
415
  job.soft_grace
415
- pid = job.info[:pid]
416
- ProcPath.monitor(pid, options[:procpath_performance])
416
+ sleep 2 if job.info[:pid] == current_pid
417
+ if job.info[:pid] != current_pid
418
+ pid = job.info[:pid]
419
+ begin
420
+ ProcPath.monitor(pid, options[:procpath_performance])
421
+ rescue Errno::ECHILD
422
+ Log.warn "Procpath didn't find process #{pid} to monitor. Maybe it finished already"
423
+ rescue
424
+ Log.warn "Procpath failed: #{$!.message}"
425
+ end
426
+ end
417
427
  end
418
428
 
419
429
  if do_fork
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.30.0
4
+ version: 5.30.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miguel Vazquez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-01 00:00:00.000000000 Z
11
+ date: 2021-02-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake