pbs_job 2.0.0 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/pbs_job/version.rb +1 -1
- data/lib/pbs_job.rb +14 -1
- data/spec/pbs_job_spec.rb +37 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 74de9875b58aabff02b08472e340da1b2da35754
|
4
|
+
data.tar.gz: 1a1e0d9073c31e50318aac1b0494e45dfe23e399
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d08e0dbb79673f6c242084d35bf96756fd2195befc8069c6e2c39243ab7228bdf6aabd560fbe5e887c0d5e8e211d2ac02c337fb183327e536e1b389fc1e2c105
|
7
|
+
data.tar.gz: 74037afe8fd3d06d623d92ac5e73e75430b8bd4f301a7510227e6207544c79888facf183840d0b9f8f829d21aa1a851ab8689ad243036fdae00fe8de22bf692a
|
data/lib/pbs_job/version.rb
CHANGED
data/lib/pbs_job.rb
CHANGED
@@ -13,6 +13,15 @@ module PbsJob
|
|
13
13
|
argument :name, :desc => 'Name of the new job.'
|
14
14
|
argument :email_address, :desc => 'Email to which to send PBS alerts.'
|
15
15
|
|
16
|
+
class_option(
|
17
|
+
:append_timestamp,
|
18
|
+
{
|
19
|
+
:desc => 'Append a date and timestamp to the job root directory name',
|
20
|
+
:default => true,
|
21
|
+
:aliases => 't',
|
22
|
+
:type => :boolean
|
23
|
+
}
|
24
|
+
)
|
16
25
|
class_option(
|
17
26
|
:link_results,
|
18
27
|
{
|
@@ -127,7 +136,11 @@ module PbsJob
|
|
127
136
|
|
128
137
|
# @returns [String] Name with date appended
|
129
138
|
def full_name
|
130
|
-
@full_name ||=
|
139
|
+
@full_name ||= if options[:append_timestamp]
|
140
|
+
"#{name}.#{DateTime.now.strftime('%b%d_%Y.%Hh-%Mm-%Ss')}"
|
141
|
+
else
|
142
|
+
name
|
143
|
+
end
|
131
144
|
end
|
132
145
|
|
133
146
|
def abs_job_root
|
data/spec/pbs_job_spec.rb
CHANGED
@@ -32,6 +32,8 @@ Usage:
|
|
32
32
|
pbs_job new NAME EMAIL_ADDRESS [OPTIONS]
|
33
33
|
|
34
34
|
Options:
|
35
|
+
t, [--append-timestamp] # Append a date and timestamp to the job root directory name
|
36
|
+
# Default: true
|
35
37
|
r, [--link-results=LINK_RESULTS] # Directory to which to redirect results
|
36
38
|
s, [--script=SCRIPT] # Type of script to make the task script
|
37
39
|
# Default: bash
|
@@ -76,6 +78,41 @@ GEN_HELP
|
|
76
78
|
end
|
77
79
|
end
|
78
80
|
|
81
|
+
|
82
|
+
JOB_ROOT = NAME
|
83
|
+
QSUB_SCRIPT = "#{JOB_ROOT}/job.qsub"
|
84
|
+
PBS_SCRIPT = "#{JOB_ROOT}/job.pbs"
|
85
|
+
TASK = "#{JOB_ROOT}/task"
|
86
|
+
RESULTS = "#{JOB_ROOT}/results"
|
87
|
+
STREAMS = "#{JOB_ROOT}/streams"
|
88
|
+
SUCCESSFUL_OUTPUT = <<-OUT
|
89
|
+
\e[1m\e[32m create\e[0m #{JOB_ROOT}
|
90
|
+
\e[1m\e[32m create\e[0m #{QSUB_SCRIPT}
|
91
|
+
\e[1m\e[32m chmod\e[0m #{QSUB_SCRIPT}
|
92
|
+
\e[1m\e[32m create\e[0m #{PBS_SCRIPT}
|
93
|
+
\e[1m\e[32m chmod\e[0m #{PBS_SCRIPT}
|
94
|
+
\e[1m\e[32m create\e[0m #{TASK}
|
95
|
+
\e[1m\e[32m chmod\e[0m #{TASK}
|
96
|
+
\e[1m\e[32m create\e[0m #{STREAMS}
|
97
|
+
\e[1m\e[32m create\e[0m #{RESULTS}
|
98
|
+
OUT
|
99
|
+
|
100
|
+
describe 'no timestamp on directory name option' do
|
101
|
+
it '--no-append_timestamp works' do
|
102
|
+
in_tmp_dir do
|
103
|
+
pbs_job "new #{NAME} #{EMAIL_ADDRESS} --no-append_timestamp"
|
104
|
+
|
105
|
+
stdout.must_equal SUCCESSFUL_OUTPUT
|
106
|
+
File.directory?(JOB_ROOT).must_equal true
|
107
|
+
check_script QSUB_SCRIPT
|
108
|
+
check_script PBS_SCRIPT
|
109
|
+
check_script TASK
|
110
|
+
File.directory?(STREAMS).must_equal true
|
111
|
+
File.directory?(RESULTS).must_equal true
|
112
|
+
end
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
79
116
|
def check_script(script_path)
|
80
117
|
File.file?(script_path).must_equal true
|
81
118
|
File.executable?(script_path).must_equal true
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pbs_job
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dustin Morrill
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-01-
|
11
|
+
date: 2014-01-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|