Skip to content

Commit a955698

Browse files
Built-in templates: Set 'envs' after loading 'modules'
1 parent 8ac7dd4 commit a955698

16 files changed

+234
-204
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.20.0-9024
2+
Version: 0.20.0-9025
33
Depends:
44
R (>= 3.2.0),
55
parallelly,

R/BatchtoolsFutureBackend-class.R

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,23 +31,23 @@
3131
#' [batchtools::submitJobs()] works, with the exception for specially
3232
#' reserved names defined by the \pkg{future.batchtools} package;
3333
#'
34-
#' * `resources[["modules"]]` is character vector of Linux environment
35-
#' modules to be loaded.
34+
#' * `resources[["details"]]`, if TRUE, results in the job script outputting
35+
#' job details and job summaries at the beginning and at the end.
3636
#'
3737
#' * `resources[["startup"]]` and `resources[["shutdown"]]` are character
3838
#' vectors of shell code to be injected to the job script as-is.
3939
#'
40-
#' * `resources[["details"]]`, if TRUE, results in the job script outputting
41-
#' job details and job summaries at the beginning and at the end.
40+
#' * `resources[["modules"]]` is character vector of Linux environment
41+
#' modules to be loaded.
42+
#'
43+
#' * `resources[["envs"]]`, is an optional names character vector specifying
44+
#' environment variables to be set.
4245
#'
4346
#' * `resources[["rscript"]]` is an optional character vector specifying
4447
#' how the 'Rscript' is launched. The `resources[["rscript_args"]]` field
4548
#' is an optional character vector specifying the 'Rscript' command-line
4649
#' arguments.
4750
#'
48-
#' * `resources[["envs"]]`, is an optional names character vector specifying
49-
#' environment variables to be set.
50-
#'
5151
#' * `resources[["asis"]]` is a character vector that are passed as-is to
5252
#' the job script and are injected as job resource declarations.
5353
#'

inst/templates/bash.tmpl

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,13 @@ exec > <%= log.file %> 2>&1
2626
## Environment modules specifications
2727
modules <- resources[["modules"]]
2828
resources[["modules"]] <- NULL
29+
30+
## Environment variables to be set
31+
envs <- resources[["envs"]]
32+
if (length(envs) > 0) {
33+
stopifnot(is.character(envs), !is.null(names(envs)))
34+
}
35+
resources[["envs"]] <- NULL
2936

3037
## Custom "Rscript" command and Rscript arguments
3138
rscript <- resources[["rscript"]]
@@ -60,6 +67,14 @@ exec > <%= log.file %> 2>&1
6067
))
6168
} %>
6269

70+
<% if (length(envs) > 0) {
71+
writeLines(c(
72+
sprintf("echo 'Setting environment variables: [n=%d]'", length(envs)),
73+
sprintf("echo ' - %s=%s'", names(envs), shQuote(envs)),
74+
sprintf("export %s=%s", names(envs), shQuote(envs))
75+
))
76+
} %>
77+
6378
echo "Session information:"
6479
echo "- timestamp: $(date +"%Y-%m-%d %H:%M:%S%z")"
6580
echo "- hostname: $(hostname)"

inst/templates/lsf.tmpl

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,13 @@
2828
## Environment modules specifications
2929
modules <- resources[["modules"]]
3030
resources[["modules"]] <- NULL
31+
32+
## Environment variables to be set
33+
envs <- resources[["envs"]]
34+
if (length(envs) > 0) {
35+
stopifnot(is.character(envs), !is.null(names(envs)))
36+
}
37+
resources[["envs"]] <- NULL
3138

3239
## Custom "Rscript" command and Rscript arguments
3340
rscript <- resources[["rscript"]]
@@ -40,13 +47,6 @@
4047
rscript_args <- resources[["rscript_args"]]
4148
resources[["rscript_args"]] <- NULL
4249
rscript_call <- paste(c(rscript, rscript_args), collapse = " ")
43-
44-
## Environment variables to be set
45-
envs <- resources[["envs"]]
46-
if (length(envs) > 0) {
47-
stopifnot(is.character(envs), !is.null(names(envs)))
48-
}
49-
resources[["envs"]] <- NULL
5050

5151
## As-is resource specifications
5252
job_declarations <- resources[["asis"]]
@@ -85,14 +85,6 @@ fi
8585
writeLines(startup)
8686
} %>
8787

88-
<% if (length(envs) > 0) {
89-
writeLines(c(
90-
sprintf("echo 'Setting environment variables: [n=%d]'", length(envs)),
91-
sprintf("echo ' - %s=%s'", names(envs), shQuote(envs)),
92-
sprintf("export %s=%s", names(envs), shQuote(envs))
93-
))
94-
} %>
95-
9688
<% if (length(modules) > 0) {
9789
writeLines(c(
9890
"echo 'Load environment modules:'",
@@ -102,6 +94,14 @@ fi
10294
))
10395
} %>
10496

97+
<% if (length(envs) > 0) {
98+
writeLines(c(
99+
sprintf("echo 'Setting environment variables: [n=%d]'", length(envs)),
100+
sprintf("echo ' - %s=%s'", names(envs), shQuote(envs)),
101+
sprintf("export %s=%s", names(envs), shQuote(envs))
102+
))
103+
} %>
104+
105105
echo "Session information:"
106106
echo "- timestamp: $(date +"%Y-%m-%d %H:%M:%S%z")"
107107
echo "- hostname: $(hostname)"

inst/templates/openlava.tmpl

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,13 @@
2828
## Environment modules specifications
2929
modules <- resources[["modules"]]
3030
resources[["modules"]] <- NULL
31+
32+
## Environment variables to be set
33+
envs <- resources[["envs"]]
34+
if (length(envs) > 0) {
35+
stopifnot(is.character(envs), !is.null(names(envs)))
36+
}
37+
resources[["envs"]] <- NULL
3138

3239
## Custom "Rscript" command and Rscript arguments
3340
rscript <- resources[["rscript"]]
@@ -40,13 +47,6 @@
4047
rscript_args <- resources[["rscript_args"]]
4148
resources[["rscript_args"]] <- NULL
4249
rscript_call <- paste(c(rscript, rscript_args), collapse = " ")
43-
44-
## Environment variables to be set
45-
envs <- resources[["envs"]]
46-
if (length(envs) > 0) {
47-
stopifnot(is.character(envs), !is.null(names(envs)))
48-
}
49-
resources[["envs"]] <- NULL
5050

5151
## As-is resource specifications
5252
job_declarations <- resources[["asis"]]
@@ -85,14 +85,6 @@ fi
8585
writeLines(startup)
8686
} %>
8787

88-
<% if (length(envs) > 0) {
89-
writeLines(c(
90-
sprintf("echo 'Setting environment variables: [n=%d]'", length(envs)),
91-
sprintf("echo ' - %s=%s'", names(envs), shQuote(envs)),
92-
sprintf("export %s=%s", names(envs), shQuote(envs))
93-
))
94-
} %>
95-
9688
<% if (length(modules) > 0) {
9789
writeLines(c(
9890
"echo 'Load environment modules:'",
@@ -102,6 +94,14 @@ fi
10294
))
10395
} %>
10496

97+
<% if (length(envs) > 0) {
98+
writeLines(c(
99+
sprintf("echo 'Setting environment variables: [n=%d]'", length(envs)),
100+
sprintf("echo ' - %s=%s'", names(envs), shQuote(envs)),
101+
sprintf("export %s=%s", names(envs), shQuote(envs))
102+
))
103+
} %>
104+
105105
echo "Session information:"
106106
echo "- timestamp: $(date +"%Y-%m-%d %H:%M:%S%z")"
107107
echo "- hostname: $(hostname)"

inst/templates/sge.tmpl

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,13 @@
3838
modules <- resources[["modules"]]
3939
resources[["modules"]] <- NULL
4040

41+
## Environment variables to be set
42+
envs <- resources[["envs"]]
43+
if (length(envs) > 0) {
44+
stopifnot(is.character(envs), !is.null(names(envs)))
45+
}
46+
resources[["envs"]] <- NULL
47+
4148
## Custom "Rscript" command and Rscript arguments
4249
rscript <- resources[["rscript"]]
4350
if (is.null(rscript)) {
@@ -49,13 +56,6 @@
4956
rscript_args <- resources[["rscript_args"]]
5057
resources[["rscript_args"]] <- NULL
5158
rscript_call <- paste(c(rscript, rscript_args), collapse = " ")
52-
53-
## Environment variables to be set
54-
envs <- resources[["envs"]]
55-
if (length(envs) > 0) {
56-
stopifnot(is.character(envs), !is.null(names(envs)))
57-
}
58-
resources[["envs"]] <- NULL
5959

6060
## As-is resource specifications
6161
job_declarations <- resources[["asis"]]
@@ -94,14 +94,6 @@ fi
9494
writeLines(startup)
9595
} %>
9696

97-
<% if (length(envs) > 0) {
98-
writeLines(c(
99-
sprintf("echo 'Setting environment variables: [n=%d]'", length(envs)),
100-
sprintf("echo ' - %s=%s'", names(envs), shQuote(envs)),
101-
sprintf("export %s=%s", names(envs), shQuote(envs))
102-
))
103-
} %>
104-
10597
<% if (length(modules) > 0) {
10698
writeLines(c(
10799
"echo 'Load environment modules:'",
@@ -111,6 +103,14 @@ fi
111103
))
112104
} %>
113105

106+
<% if (length(envs) > 0) {
107+
writeLines(c(
108+
sprintf("echo 'Setting environment variables: [n=%d]'", length(envs)),
109+
sprintf("echo ' - %s=%s'", names(envs), shQuote(envs)),
110+
sprintf("export %s=%s", names(envs), shQuote(envs))
111+
))
112+
} %>
113+
114114
echo "Session information:"
115115
echo "- timestamp: $(date +"%Y-%m-%d %H:%M:%S%z")"
116116
echo "- hostname: $(hostname)"

inst/templates/slurm.tmpl

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,13 @@
2727
## Environment modules specifications
2828
modules <- resources[["modules"]]
2929
resources[["modules"]] <- NULL
30+
31+
## Environment variables to be set
32+
envs <- resources[["envs"]]
33+
if (length(envs) > 0) {
34+
stopifnot(is.character(envs), !is.null(names(envs)))
35+
}
36+
resources[["envs"]] <- NULL
3037

3138
## Custom "Rscript" command and Rscript arguments
3239
rscript <- resources[["rscript"]]
@@ -39,13 +46,6 @@
3946
rscript_args <- resources[["rscript_args"]]
4047
resources[["rscript_args"]] <- NULL
4148
rscript_call <- paste(c(rscript, rscript_args), collapse = " ")
42-
43-
## Environment variables to be set
44-
envs <- resources[["envs"]]
45-
if (length(envs) > 0) {
46-
stopifnot(is.character(envs), !is.null(names(envs)))
47-
}
48-
resources[["envs"]] <- NULL
4949

5050
## As-is resource specifications
5151
job_declarations <- resources[["asis"]]
@@ -84,14 +84,6 @@ fi
8484
writeLines(startup)
8585
} %>
8686

87-
<% if (length(envs) > 0) {
88-
writeLines(c(
89-
sprintf("echo 'Setting environment variables: [n=%d]'", length(envs)),
90-
sprintf("echo ' - %s=%s'", names(envs), shQuote(envs)),
91-
sprintf("export %s=%s", names(envs), shQuote(envs))
92-
))
93-
} %>
94-
9587
<% if (length(modules) > 0) {
9688
writeLines(c(
9789
"echo 'Load environment modules:'",
@@ -101,6 +93,14 @@ fi
10193
))
10294
} %>
10395

96+
<% if (length(envs) > 0) {
97+
writeLines(c(
98+
sprintf("echo 'Setting environment variables: [n=%d]'", length(envs)),
99+
sprintf("echo ' - %s=%s'", names(envs), shQuote(envs)),
100+
sprintf("export %s=%s", names(envs), shQuote(envs))
101+
))
102+
} %>
103+
104104
echo "Session information:"
105105
echo "- timestamp: $(date +"%Y-%m-%d %H:%M:%S%z")"
106106
echo "- hostname: $(hostname)"

inst/templates/torque.tmpl

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,12 @@
3232
modules <- resources[["modules"]]
3333
resources[["modules"]] <- NULL
3434

35+
envs <- resources[["envs"]]
36+
if (length(envs) > 0) {
37+
stopifnot(is.character(envs), !is.null(names(envs)))
38+
}
39+
resources[["envs"]] <- NULL
40+
3541
## Custom "Rscript" command and Rscript arguments
3642
rscript <- resources[["rscript"]]
3743
if (is.null(rscript)) {
@@ -45,12 +51,6 @@
4551
rscript_call <- paste(c(rscript, rscript_args), collapse = " ")
4652

4753
## Environment variables to be set
48-
envs <- resources[["envs"]]
49-
if (length(envs) > 0) {
50-
stopifnot(is.character(envs), !is.null(names(envs)))
51-
}
52-
resources[["envs"]] <- NULL
53-
5454
## As-is resource specifications
5555
job_declarations <- resources[["asis"]]
5656
resources[["asis"]] <- NULL
@@ -88,14 +88,6 @@ fi
8888
writeLines(startup)
8989
} %>
9090

91-
<% if (length(envs) > 0) {
92-
writeLines(c(
93-
sprintf("echo 'Setting environment variables: [n=%d]'", length(envs)),
94-
sprintf("echo ' - %s=%s'", names(envs), shQuote(envs)),
95-
sprintf("export %s=%s", names(envs), shQuote(envs))
96-
))
97-
} %>
98-
9991
<% if (length(modules) > 0) {
10092
writeLines(c(
10193
"echo 'Load environment modules:'",
@@ -105,6 +97,14 @@ fi
10597
))
10698
} %>
10799

100+
<% if (length(envs) > 0) {
101+
writeLines(c(
102+
sprintf("echo 'Setting environment variables: [n=%d]'", length(envs)),
103+
sprintf("echo ' - %s=%s'", names(envs), shQuote(envs)),
104+
sprintf("export %s=%s", names(envs), shQuote(envs))
105+
))
106+
} %>
107+
108108
echo "Session information:"
109109
echo "- timestamp: $(date +"%Y-%m-%d %H:%M:%S%z")"
110110
echo "- hostname: $(hostname)"

man/BatchtoolsFutureBackend.Rd

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

0 commit comments

Comments
 (0)