Utilities to deal with objects of class slurm_job
. The function new_slurm_job
,
which is mostly intended to be for internal used, creates an object of class
slurm_job
. The function last_submitted_job
returns the last submitted
job in the current R session, and the functions read/write_slurm_job
are
utility functions to read and write R jobs respectively.
new_slurm_job(
call,
rscript,
bashfile,
robjects,
njobs,
opts_job,
opts_r,
hooks = NULL
)
# S3 method for slurm_job
print(x, ...)
read_slurm_job(path)
write_slurm_job(x, path = NULL)
last_submitted_job()
last_job()
The original call
The R script and bash file path.
A character vector of R objects that will be imported in the job.
Integer. Number of jobs to start (array).
List. In the case of opts_job
, a list of parameters
passed to sbatch. opts_r
is a list of parameters used within R. Both can
be retrieved by opts_slurmR$get_opts_job()
and opts_slurmR$get_opts_r()
respectively.
List of functions. To be called on the collected results after it finalizes.
An object of class slurm_job
.
Further arguments passed to the method.
Character scalar. Path to either a directory with a job.rds
file,
or directly to a job.rds
file.
An environment of class slurm_job
. This has the following items:
call
The original call (Slurm_lapply, Slurm_Map, etc.)
rscript
The full path to the R script to be executed by bash file.
bashfile
The full path to the bash file to be executed by sbatch.
robjects
Ignored.
njobs
The number of jobs to be submitted (job array).
opts_job
,opts_r
Two lists of options as returned by opts_slurmR$get_opts_job()
and opts_slurmR$get_r_opts() at the moment of the creation of the slurm_job
.
hooks
A list of functions to be called on the collected objects
by Slurm_collect.
In the case of the function write_slurm_job
, it returns the full
path to the file.
In the case of the function new_slurm_job
, besides of creating the
object of class slurm_job
, the function calls write_slurm_job
and stores
the job object in an rds
class file. The name and location of
the saved rds file is generated using the function snames("job")
.
The read_slurm_job
can help the user recovering a previously saved
slurm_job
object. If path
is a directory, then the function will assume
that the file that is looking for lives within that directory and is named
job.rds
. Otherwise, if a file, then it will read it directly. In any case,
it will check that the read object is an object of class slurm_job
.
The write_slurm_job
function simply takes a slurm_job
object
and saves it in, if path
is not specified, whatever the job$options$chdir
folder is under the name job.rds
. If a path is specified, the it is directly
passed to saveRDS()
.
The las_submitted_job
function will return the latest slurm_job
object that was submitted via sbatch in the current session. The last_job
function is just an alias of the later. If no job has been submitted, then
the resulting value will be NULL
.
if (FALSE) {
# The last_job function can be handy when `plan = "collect"` in a called,
# for example
job <- Slurm_lapply(1:1000, function(i) runif(100), njobs = 2, plan = "collect")
# Post collection analysis
status(last_job())
}