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.

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 or integer]
A data.frame (or data.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 (see setDefaultRegistry).

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)
#> Sourcing configuration file '~/.batchtools.conf.R' ...
#> 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' ...
#> ### [bt]: Setting seed to 1 ...
#> ### [bt]: Setting seed to 2 ...
#> ### [bt]: Setting seed to 3 ...
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 2018-05-20 00:31:32 2018-05-20 00:31:32 2018-05-20 00:31:32 #> 2: 2 2018-05-20 00:31:32 2018-05-20 00:31:32 2018-05-20 00:31:32 #> 3: 3 2018-05-20 00:31:32 2018-05-20 00:31:32 2018-05-20 00:31:32 #> 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 #> <char> <char> <difftime> #> 1: jobb826272edd8328695409714e0be44c73 <NA> 0.003400087 secs #> 2: job76ace4b00c14f6f8e4d72c41321217da <NA> 0.003700018 secs #> 3: job5227b3f4e41d809726d36cf3971fea25 <NA> 0.003499985 secs #> time.running job.pars resources tags #> <difftime> <list> <list> <char> #> 1: 0.003599882 secs <list> <list> tag1 #> 2: 0.003199816 secs <list> <list> tag1,tag2 #> 3: 0.003599882 secs <list> <list> <NA>
# Job parameters: getJobPars(reg = tmp)
#> Key: <job.id> #> job.id job.pars #> <int> <list> #> 1: 1 <list> #> 2: 2 <list> #> 3: 3 <list>
# 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> tag1 #> 2: 2 <list> tag1,tag2 #> 3: 3 <list> <NA>