Skip to content

Commit 4bd641e

Browse files
All built-in template job scripts support "startup code" resource specifications via resources[["startup"]]
1 parent ba1ceaa commit 4bd641e

File tree

14 files changed

+119
-8
lines changed

14 files changed

+119
-8
lines changed

DESCRIPTION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
Package: future.batchtools
2-
Version: 0.12.2-9976
2+
Version: 0.12.2-9977
33
Depends:
44
R (>= 3.2.0),
55
parallelly,

NEWS.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,12 @@
3838
- All built-in template job scripts support "environment module"
3939
resource specifications via `resources[["modules"]]`. When
4040
specified, corresponding `module load <name>` entries are
41-
injected to the job script.
41+
injected to the generated job script.
42+
43+
- All built-in template job scripts support "startup code" resource
44+
specifications via `resources[["startup"]]`. When specified,
45+
corresponding lines are injected early in the generated job
46+
script.
4247

4348
- All built-in template job scripts, which are written in Bash,
4449
error and exit early, but setting more strict Bash options. This

inst/templates/bash.tmpl

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,25 @@ set -u # error on unset variables
1111
set -o pipefail # fail a pipeline if any command fails
1212
trap 'echo "ERROR: future.batchtools job script failed on line $LINENO" >&2; exit 1' ERR
1313

14-
1514
<%
1615
## Maximum runtime?
1716
runtime <- resources[["timeout"]]
1817
timeout <- if (is.null(runtime)) "" else sprintf("timeout %s", runtime)
19-
18+
19+
## Shell "startup" code to evaluate
20+
startup <- resources[["startup"]]
21+
resources[["startup"]] <- NULL
22+
2023
## Environment modules specifications
2124
modules <- resources[["modules"]]
2225
resources[["modules"]] <- NULL
2326
%>
2427

28+
<% if (length(startup) > 0) {
29+
## Inject optional shell code
30+
writeLines(startup)
31+
} %>
32+
2533
echo "Load environment modules:"
2634
<% if (length(modules) > 0) {
2735
writeLines(c(sprintf("module load %s", modules), "module list"))

inst/templates/lsf.tmpl

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@
1616
## As-is resource specifications
1717
job_declarations <- resources[["asis"]]
1818
resources[["asis"]] <- NULL
19+
20+
## Shell "startup" code to evaluate
21+
startup <- resources[["startup"]]
22+
resources[["startup"]] <- NULL
1923

2024
## Environment modules specifications
2125
modules <- resources[["modules"]]
@@ -39,6 +43,11 @@ echo "- job name: '<%= job.name %>'"
3943
echo "- job log file: '<%= log.file %>'"
4044
echo
4145

46+
<% if (length(startup) > 0) {
47+
## Inject optional shell code
48+
writeLines(startup)
49+
} %>
50+
4251
echo "Load environment modules:"
4352
<% if (length(modules) > 0) {
4453
writeLines(c(sprintf("module load %s", modules), "module list"))

inst/templates/openlava.tmpl

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@
1616
## As-is resource specifications
1717
job_declarations <- resources[["asis"]]
1818
resources[["asis"]] <- NULL
19+
20+
## Shell "startup" code to evaluate
21+
startup <- resources[["startup"]]
22+
resources[["startup"]] <- NULL
1923

2024
## Environment modules specifications
2125
modules <- resources[["modules"]]
@@ -39,6 +43,11 @@ echo "- job name: '<%= job.name %>'"
3943
echo "- job log file: '<%= log.file %>'"
4044
echo
4145

46+
<% if (length(startup) > 0) {
47+
## Inject optional shell code
48+
writeLines(startup)
49+
} %>
50+
4251
echo "Load environment modules:"
4352
<% if (length(modules) > 0) {
4453
writeLines(c(sprintf("module load %s", modules), "module list"))

inst/templates/sge.tmpl

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@
2525
## As-is resource specifications
2626
job_declarations <- resources[["asis"]]
2727
resources[["asis"]] <- NULL
28+
29+
## Shell "startup" code to evaluate
30+
startup <- resources[["startup"]]
31+
resources[["startup"]] <- NULL
2832

2933
## Environment modules specifications
3034
modules <- resources[["modules"]]
@@ -48,6 +52,11 @@ echo "- job name: '<%= job.name %>'"
4852
echo "- job log file: '<%= log.file %>'"
4953
echo
5054

55+
<% if (length(startup) > 0) {
56+
## Inject optional shell code
57+
writeLines(startup)
58+
} %>
59+
5160
echo "Load environment modules:"
5261
<% if (length(modules) > 0) {
5362
writeLines(c(sprintf("module load %s", modules), "module list"))

inst/templates/slurm.tmpl

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@
1515
## As-is resource specifications
1616
job_declarations <- resources[["asis"]]
1717
resources[["asis"]] <- NULL
18+
19+
## Shell "startup" code to evaluate
20+
startup <- resources[["startup"]]
21+
resources[["startup"]] <- NULL
1822

1923
## Environment modules specifications
2024
modules <- resources[["modules"]]
@@ -38,6 +42,11 @@ echo "- job name: '<%= job.name %>'"
3842
echo "- job log file: '<%= log.file %>'"
3943
echo
4044

45+
<% if (length(startup) > 0) {
46+
## Inject optional shell code
47+
writeLines(startup)
48+
} %>
49+
4150
echo "Load environment modules:"
4251
<% if (length(modules) > 0) {
4352
writeLines(c(sprintf("module load %s", modules), "module list"))

inst/templates/torque.tmpl

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
######################################################################
33
# A batchtools launch script template for TORQUE/PBS
44
#
5-
# Author: Henrik Bengtsson
5+
# Author: Henrik Bengtsson
66
######################################################################
77

88
## Job name
@@ -19,6 +19,10 @@
1919
## As-is resource specifications
2020
job_declarations <- resources[["asis"]]
2121
resources[["asis"]] <- NULL
22+
23+
## Shell "startup" code to evaluate
24+
startup <- resources[["startup"]]
25+
resources[["startup"]] <- NULL
2226

2327
## Environment modules specifications
2428
modules <- resources[["modules"]]
@@ -42,6 +46,11 @@ echo "- job name: '<%= job.name %>'"
4246
echo "- job log file: '<%= log.file %>'"
4347
echo
4448

49+
<% if (length(startup) > 0) {
50+
## Inject optional shell code
51+
writeLines(startup)
52+
} %>
53+
4554
echo "Load environment modules:"
4655
<%
4756
writeLines(sprintf("module load %s", modules))

man/batchtools_bash.Rd

Lines changed: 10 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

man/batchtools_lsf.Rd

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)