rbbt-util 5.30.0 → 5.30.1

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: 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