rbbt-util 5.30.13 → 5.31.0
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 +4 -4
- data/lib/rbbt/hpc.rb +3 -0
- data/lib/rbbt/hpc/batch.rb +623 -0
- data/lib/rbbt/hpc/lsf.rb +119 -0
- data/lib/rbbt/hpc/orchestrate.rb +12 -11
- data/lib/rbbt/hpc/slurm.rb +62 -567
- data/lib/rbbt/resource/path.rb +3 -1
- data/lib/rbbt/tsv/accessor.rb +5 -2
- data/lib/rbbt/tsv/dumper.rb +1 -0
- data/lib/rbbt/tsv/parallel/traverse.rb +1 -1
- data/lib/rbbt/tsv/stream.rb +5 -6
- data/lib/rbbt/util/log.rb +22 -1
- data/lib/rbbt/util/misc/development.rb +2 -2
- data/lib/rbbt/util/misc/options.rb +5 -0
- data/lib/rbbt/workflow/step/accessor.rb +1 -1
- data/lib/rbbt/workflow/usage.rb +13 -13
- data/share/config.ru +3 -3
- data/share/rbbt_commands/{slurm → hpc}/clean +91 -18
- data/share/rbbt_commands/{slurm → hpc}/list +100 -30
- data/share/rbbt_commands/hpc/orchestrate +81 -0
- data/share/rbbt_commands/hpc/tail +81 -0
- data/share/rbbt_commands/hpc/task +80 -0
- data/test/rbbt/hpc/test_batch.rb +65 -0
- data/test/rbbt/hpc/test_slurm.rb +30 -0
- data/test/rbbt/util/misc/test_development.rb +11 -0
- data/test/test_helper.rb +3 -1
- metadata +16 -7
- data/share/rbbt_commands/slurm/orchestrate +0 -48
- data/share/rbbt_commands/slurm/task +0 -46
@@ -1,48 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
require 'rbbt/util/simpleopt'
|
4
|
-
require 'rbbt/workflow'
|
5
|
-
require 'rbbt/workflow/usage'
|
6
|
-
require 'rbbt/hpc'
|
7
|
-
require 'rbbt/hpc/orchestrate'
|
8
|
-
require 'time'
|
9
|
-
|
10
|
-
$slurm_options = SOPT.get <<EOF
|
11
|
-
-dr--dry_run Print only the template
|
12
|
-
-cj--clean_job Clean job
|
13
|
-
--drbbt* Use development version of rbbt
|
14
|
-
-sing--singularity Use Singularity
|
15
|
-
-ug--user_group* Use alternative user group for group project directory
|
16
|
-
-c--contain* Contain in directory (using Singularity)
|
17
|
-
-s--sync* Contain in directory and sync jobs
|
18
|
-
-e--exclusive Make exclusive use of the node
|
19
|
-
-hm--highmem Make use of highmem cores
|
20
|
-
-wc--wipe_container* Wipe the jobs from the contain directory
|
21
|
-
-CS--contain_and_sync Contain and sync to default locations
|
22
|
-
-ci--copy_image When using a container directory, copy image there
|
23
|
-
-t--tail Tail the logs
|
24
|
-
-SPERF--SLURM_procpath* Save Procpath performance for SLURM job; specify only options
|
25
|
-
-q--queue* Queue
|
26
|
-
-t--task_cpus* Tasks
|
27
|
-
-W--workflows* Additional workflows
|
28
|
-
-tm--time* Time
|
29
|
-
-OR--orchestration_rules* Orchestration rules
|
30
|
-
-rmb--remove_slurm_basedir Remove the SLURM working directory (command, STDIN, exit status, ...)
|
31
|
-
EOF
|
32
|
-
|
33
|
-
class Step
|
34
|
-
def run(*args)
|
35
|
-
if done?
|
36
|
-
self.load
|
37
|
-
else
|
38
|
-
begin
|
39
|
-
Log.debug "Issuing SLURM job for #{self.path}"
|
40
|
-
HPC::SLURM.orchestrate_job(self, SOPT::GOT_OPTIONS.merge($slurm_options))
|
41
|
-
rescue HPC::SBATCH
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
|
-
ARGV.concat ["-W", $slurm_options[:workflows], '--detach'] if $slurm_options[:workflows]
|
48
|
-
load Rbbt.share.rbbt_commands.workflow.task.find
|
@@ -1,46 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
require 'rbbt/util/simpleopt'
|
4
|
-
require 'rbbt/workflow'
|
5
|
-
require 'rbbt/workflow/usage'
|
6
|
-
require 'rbbt/hpc'
|
7
|
-
require 'time'
|
8
|
-
|
9
|
-
$slurm_options = SOPT.get <<EOF
|
10
|
-
-dr--dry_run Print only the template
|
11
|
-
-cj--clean_job Clean job
|
12
|
-
--drbbt* Use development version of rbbt
|
13
|
-
-sing--singularity Use Singularity
|
14
|
-
-ug--user_group* Use alternative user group for group project directory
|
15
|
-
-c--contain* Contain in directory (using Singularity)
|
16
|
-
-s--sync* Contain in directory and sync jobs
|
17
|
-
-e--exclusive Make exclusive use of the node
|
18
|
-
-hm--highmem Make use of highmem cores
|
19
|
-
-wc--wipe_container* Wipe the jobs from the contain directory
|
20
|
-
-CS--contain_and_sync Contain and sync to default locations
|
21
|
-
-ci--copy_image When using a container directory, copy image there
|
22
|
-
-t--tail Tail the logs
|
23
|
-
-SPERF--SLURM_procpath* Save Procpath performance for SLURM job; specify only options
|
24
|
-
-q--queue* Queue
|
25
|
-
-t--task_cpus* Tasks
|
26
|
-
-W--workflows* Additional workflows
|
27
|
-
-tm--time* Time
|
28
|
-
-rmb--remove_slurm_basedir Remove the SLURM working directory (command, STDIN, exit status, ...)
|
29
|
-
EOF
|
30
|
-
|
31
|
-
class Step
|
32
|
-
def run(*args)
|
33
|
-
if done?
|
34
|
-
self.load
|
35
|
-
else
|
36
|
-
begin
|
37
|
-
Log.debug "Issuing SLURM job for #{self.path}"
|
38
|
-
HPC::SLURM.run_job(self, SOPT::GOT_OPTIONS.merge($slurm_options))
|
39
|
-
rescue HPC::SBATCH
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
ARGV.concat ["-W", $slurm_options[:workflows]] if $slurm_options[:workflows]
|
46
|
-
load Rbbt.share.rbbt_commands.workflow.task.find
|