getJobStatus
returns the internal table which stores information about the computational
status of jobs, getJobPars
a table with the job parameters, getJobResources
a table
with the resources which were set to submit the jobs, and getJobTags
the tags of the jobs
(see Tags).
getJobTable
returns all these tables joined.
Usage
getJobTable(ids = NULL, reg = getDefaultRegistry())
getJobStatus(ids = NULL, reg = getDefaultRegistry())
getJobResources(ids = NULL, reg = getDefaultRegistry())
getJobPars(ids = NULL, reg = getDefaultRegistry())
getJobTags(ids = NULL, reg = getDefaultRegistry())
Arguments
- ids
[
data.frame
orinteger
]
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.- reg
[
Registry
]
Registry. If not explicitly passed, uses the default registry (seesetDefaultRegistry
).
Value
[data.table
] with the following columns (not necessarily in this order):
- job.id
Unique Job ID as integer.
- submitted
Time the job was submitted to the batch system as
POSIXct
.- started
Time the job was started on the batch system as
POSIXct
.- done
Time the job terminated (successfully or with an error) as
POSIXct
.- error
Either
NA
if the job terminated successfully or the error message.- mem.used
Estimate of the memory usage.
- batch.id
Batch ID as reported by the scheduler.
- log.file
Log file. If missing, defaults to
[job.hash].log
.- job.hash
Unique string identifying the job or chunk.
- time.queued
Time in seconds (as
difftime
) the job was queued.- time.running
Time in seconds (as
difftime
) the job was running.- pars
List of parameters/arguments for this job.
- resources
List of computational resources set for this job.
- tags
Tags as joined string, delimited by “,”.
- problem
Only for
ExperimentRegistry
: the problem identifier.- algorithm
Only for
ExperimentRegistry
: the algorithm identifier.
Examples
tmp = makeRegistry(file.dir = NA, make.default = FALSE)
#> No readable configuration file found
#> Created registry in '/tmp/batchtools-example/reg' using cluster functions 'Interactive'
f = function(x) if (x < 0) stop("x must be > 0") else sqrt(x)
batchMap(f, x = c(-1, 0, 1), reg = tmp)
#> Adding 3 jobs ...
submitJobs(reg = tmp)
#> Submitting 3 jobs in 3 chunks using cluster functions 'Interactive' ...
#> Error in (function (x) : x must be > 0
waitForJobs(reg = tmp)
#> [1] FALSE
addJobTags(1:2, "tag1", reg = tmp)
addJobTags(2, "tag2", reg = tmp)
# Complete table:
getJobTable(reg = tmp)
#> Key: <job.id>
#> job.id submitted started done
#> <int> <POSc> <POSc> <POSc>
#> 1: 1 2025-05-22 15:48:41 2025-05-22 15:48:41 2025-05-22 15:48:41
#> 2: 2 2025-05-22 15:48:41 2025-05-22 15:48:41 2025-05-22 15:48:42
#> 3: 3 2025-05-22 15:48:42 2025-05-22 15:48:42 2025-05-22 15:48:42
#> error mem.used batch.id log.file
#> <char> <num> <char> <char>
#> 1: Error in (function (x) : x must be > 0 NA cfInteractive <NA>
#> 2: <NA> NA cfInteractive <NA>
#> 3: <NA> NA cfInteractive <NA>
#> job.hash job.name time.queued time.running
#> <char> <char> <difftime> <difftime>
#> 1: job9b13003a95164300b5c60ddf88b007e2 <NA> 0.004100084 secs 0.2149999 secs
#> 2: job8359b842e525cfe15084afd160b220dd <NA> 0.004499912 secs 0.2237999 secs
#> 3: job5dd6cfbd8cee82d6aaf4bb6de8a51491 <NA> 0.004100084 secs 0.2165999 secs
#> job.pars resources tags
#> <list> <list> <char>
#> 1: <list[1]> <list[0]> tag1
#> 2: <list[1]> <list[0]> tag1,tag2
#> 3: <list[1]> <list[0]> <NA>
# Job parameters:
getJobPars(reg = tmp)
#> Key: <job.id>
#> job.id job.pars
#> <int> <list>
#> 1: 1 <list[1]>
#> 2: 2 <list[1]>
#> 3: 3 <list[1]>
# Set and retrieve tags:
getJobTags(reg = tmp)
#> Key: <job.id>
#> job.id tags
#> <int> <char>
#> 1: 1 tag1
#> 2: 2 tag1,tag2
#> 3: 3 <NA>
# Job parameters with tags right-joined:
rjoin(getJobPars(reg = tmp), getJobTags(reg = tmp))
#> Key: <job.id>
#> job.id job.pars tags
#> <int> <list> <char>
#> 1: 1 <list[1]> tag1
#> 2: 2 <list[1]> tag1,tag2
#> 3: 3 <list[1]> <NA>