makeJobCollection takes multiple job ids and creates an object of class “JobCollection” which holds all
necessary information for the calculation with doJobCollection. It is implemented as an environment
with the following variables:
- file.dir
file.dirof the Registry.- work.dir:
work.dirof the Registry.- job.hash
Unique identifier of the job. Used to create names on the file system.
- jobs
data.tableholding individual job information. See examples.- log.file
Location of the designated log file for this job.
- resources:
Named list of of specified computational resources.
- uri
Location of the job description file (saved with
link[base]{saveRDS}on the file system.- seed
integer(1)Seed of the Registry.- packages
characterwith required packages to load viarequire.- namespaces
characterwith required packages to load viarequireNamespace.- source
characterwith list of files to source before execution.- load
characterwith list of files to load before execution.- array.var
character(1)of the array environment variable specified by the cluster functions.- array.jobs
logical(1)signaling if jobs were submitted usingchunks.as.arrayjobs.
If your ClusterFunctions uses a template, brew will be executed in the environment of such
a collection. Thus all variables available inside the job can be used in the template.
Usage
makeJobCollection(ids = NULL, resources = list(), reg = getDefaultRegistry())Arguments
- ids
[
data.frameorinteger]
Adata.frame(ordata.table) with a column named “job.id”. Alternatively, you may also pass a vector of integerish job ids. If not set, defaults to all jobs. Invalid ids are ignored.- resources
[
list]
Named list of resources. Default islist().- reg
[
Registry]
Registry. If not explicitly passed, uses the default registry (seesetDefaultRegistry).
See also
Other JobCollection:
doJobCollection()
Examples
tmp = makeRegistry(file.dir = NA, make.default = FALSE, packages = "methods")
#> No readable configuration file found
#> Created registry in '/tmp/batchtools-example/reg' using cluster functions 'Interactive'
batchMap(identity, 1:5, reg = tmp)
#> Adding 5 jobs ...
# resources are usually set in submitJobs()
jc = makeJobCollection(1:3, resources = list(foo = "bar"), reg = tmp)
ls(jc)
#> [1] "array.jobs" "array.var" "compress" "file.dir" "job.hash"
#> [6] "job.name" "jobs" "load" "log.file" "namespaces"
#> [11] "packages" "resources" "seed" "source" "uri"
#> [16] "work.dir"
jc$resources
#> $foo
#> [1] "bar"
#>