Nothing
# returns TRUE if the state possibly changed
updateRegistry = function(reg = getDefaultRegistry()) { # nocov start
"!DEBUG [updateRegistry]: Running updateRegistry"
pv = packageVersion("batchtools")
if (identical(pv, reg$version))
return(FALSE)
if (is.null(reg$version) || reg$version < "0.9.0")
stop("Your registry is too old.")
if (reg$version < "0.9.1-9000") {
### hotfix for timestamps
if (is.integer(reg$status$submitted)) {
info("Converting timestamps to numeric")
for (x in c("submitted", "started", "done"))
reg$status[[x]] = as.numeric(reg$status[[x]])
}
### hotfix for log.file column
if ("log.file" %chnin% names(reg$status)) {
info("Adding column 'log.file'")
reg$status[, ("log.file") := rep(NA_character_, .N)]
}
}
if (reg$version < "0.9.1-9001") {
### hotfix for base32 encoding of exports
fns = list.files(fs::path(reg$file.dir, "exports"), pattern = "\\.rds$", all.files = TRUE, no.. = TRUE)
if (length(fns)) {
info("Renaming export files")
fs::file_move(
fs::path(reg$file.dir, fns),
fs::path(reg$file.dir, mangle(stri_sub(fns, to = -5L)))
)
}
}
if (reg$version < "0.9.1-9002" && inherits(reg, "ExperimentRegistry")) {
info("Renaming problems and algorithm files")
getProblemIds = function(reg) levels(reg$defs$problem)
getAlgorithmIds = function(reg) levels(reg$defs$algorithm)
for (prob in getProblemIds(reg))
fs::file_move(fs::path(reg$file.dir, "problems", sprintf("%s.rds", digest(prob))), getProblemURI(reg, prob))
for (algo in getAlgorithmIds(reg))
fs::file_move(fs::path(reg$file.dir, "algorithms", sprintf("%s.rds", digest(algo))), getAlgorithmURI(reg, algo))
}
if (reg$version < "0.9.4-9001") {
if ("job.name" %chnin% names(reg$status)) {
info("Adding column 'job.name'")
reg$status[, ("job.name") := rep(NA_character_, .N)]
}
}
if (reg$version < "0.9.6-9001") {
info("Updating registry internals")
if (!inherits(reg, "ExperimentRegistry")) {
setnames(reg$defs, "pars", "job.pars")
} else {
alloc.col(reg$defs, ncol(reg$defs) + 1L)
reg$problems = levels(reg$defs$problem)
reg$algorithms = levels(reg$defs$algorithm)
reg$defs$problem = as.character(reg$defs$problem)
reg$defs$algorithm = as.character(reg$defs$algorithm)
reg$defs$prob.pars = lapply(reg$defs$pars, `[[`, "prob.pars")
reg$defs$algo.pars = lapply(reg$defs$pars, `[[`, "algo.pars")
reg$defs$pars = NULL
info("Recalculating job hashes")
reg$defs$pars.hash = calculateHash(reg$defs)
}
}
if (reg$version < "0.9.7-9001") {
if (inherits(reg, "ExperimentRegistry")) {
info("Updating problems")
for (id in reg$problems) {
uri = getProblemURI(reg, id)
p = readRDS(uri)
p$cache = FALSE
saveRDS(p, file = uri, version = 2L)
}
}
}
if (reg$version < "0.9.7-9002") {
if (hasName(reg$status, "memory")) {
info("Renaming memory column in data base")
setnames(reg$status, "memory", "mem.used")
}
fns = list.files(dir(reg, "updates"), full.names = TRUE)
if (length(fns) > 0L) {
info("Renaming memory column in update files")
updates = lapply(fns, function(fn) {
x = try(readRDS(fn), silent = TRUE)
if (is.error(x)) {
fs::file_delete(x)
} else {
if (hasName(x, "memory")) {
setnames(x, "memory", "mem.used")
saveRDS(x, file = fn, version = 2L)
}
}
})
}
}
if (is.null(reg$compress)) {
reg$compress = "gzip"
}
reg$version = pv
return(TRUE)
} # nocov end
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.