Submit jobs
bsub_chunk(
code,
name = NULL,
packages = bsub_opt$packages,
image = bsub_opt$image,
variables = character(),
share = character(),
working_dir = bsub_opt$working_dir,
hours = 1,
memory = 1,
cores = 1,
R_version = bsub_opt$R_version,
temp_dir = bsub_opt$temp_dir,
output_dir = bsub_opt$output_dir,
dependency = NULL,
enforce = bsub_opt$enforce,
local = bsub_opt$local,
script = NULL,
start = NULL,
end = NULL,
save_var = FALSE,
sh_head = bsub_opt$sh_head,
ask = TRUE
)
bsub_script(
script,
argv = "",
name = NULL,
hours = 1,
memory = 1,
cores = 1,
R_version = bsub_opt$R_version,
temp_dir = bsub_opt$temp_dir,
output_dir = bsub_opt$output_dir,
dependency = NULL,
enforce = bsub_opt$enforce,
local = bsub_opt$local,
sh_head = bsub_opt$sh_head,
ask = TRUE,
...
)
bsub_cmd(
cmd,
sh = NULL,
name = NULL,
hours = 1,
memory = 1,
cores = 1,
temp_dir = bsub_opt$temp_dir,
output_dir = bsub_opt$output_dir,
dependency = NULL,
enforce = bsub_opt$enforce,
local = bsub_opt$local,
env_var = NULL,
sh_head = bsub_opt$sh_head,
ask = TRUE,
...
)
The code chunk, it should be embraced by {}
.
If name is not specified, an internal name calculated by digest::digest()
on the chunk is automatically assigned.
A character vector with package names that will be loaded before running the script. There is a special name _in_session_
that loads all the packages loaded in current R session.
A character vector of .RData
/.rda
files that will be loaded before running the script.
When image
is set to TRUE
, all variables in .GlobalEnv
will be saved
into a temporary file and all attached packages will be recorded. The temporary files
will be removed after the job is finished.
A character vector of variable names that will be loaded before running the script. There is a special name _all_functions_
that saves all functions defined in the global environment.
A character vector of variables names for which the variables are shared between jobs. Note the temporary .RData
files are not deleted
automatically.
The working directory.
Running time of the job.
Memory usage of the job. It is measured in GB.
Number of cores.
R version.
Path of temporary folder where the temporary R/bash scripts will be put.
Path of output folder where the output/flag files will be put.
A vector of job IDs that current job depends on.
If a flag file for the job is found, whether to enforce to rerun the job.
Run job locally (not submitting to the LSF cluster)?
In bsub_chunk()
, it is the path of a script where code chunks will be extracted and sent to the cluster.
It is always used with start
and end
arguments. In bsub_script()
, it is the path of the R script to submit.
A numeric vector that contains line indices of the starting code chunk or a character vector that contain regular expression to match the start of code chunks.
Same setting as start
.
Whether save the last variable in the code chunk? Later the variable
can be retrieved by retrieve_var()
.
Commands that are written as head of the sh script.
Whether to promote.
A string of command-line arguments.
Command-line arguments can also be specified as name-value pairs.
A single-line command.
Path of the bash script.
Environment variables. It should be a named vector. Note environment variables can also be directly set in sh_head
.
A job ID.
job_chunk()
submits R code chunk.
job_script()
submits R script with command-line arguments.
job_cmd()
submits general bash commands.
# \dontrun{
bsub_chunk(name = "example", memory = 10, hours = 10, cores = 4,
{
Sys.sleep(5)
})
#> Error in bsub_chunk(name = "example", memory = 10, hours = 10, cores = 4, { Sys.sleep(5) }): Job can only be sumitted on the same file system as submission nodes.
# the R version is defined in bsub_opt$R_version
bsub_script("/path/of/foo.R", name = ..., memory = ..., cores = ..., ...)
#> Error in eval(expr, envir, enclos): '...' used in an incorrect context
# with command-line arguments
bsub_script("/path/of/foo.R", argv = "--a 1 --b 3", ...)
#> Error in eval(expr, envir, enclos): '...' used in an incorrect context
# put all arguments also in the command
bsub_cmd("some-tool -arg1 1 -arg2 2", name = ..., memory = ..., cores = ..., ...)
#> Error in eval(expr, envir, enclos): '...' used in an incorrect context
# }