#' run_worker
#'
#' @param code_path TODO
#' @param args_path TODO
#' @param parent_env_path TODO
#' @param save_path TODO
#' @param output_full_run_env TODO
#'
#' @return Nothing
#' @export
run_worker <- function(code_path, args_path, parent_env_path, save_path, output_full_run_env) {
run_env <- new.env()
run_env2 <- new.env()
tryCatch(
{
args <- readRDS(args_path)
run_env <- readRDS(parent_env_path)
for (x in names(args)) {
run_env[[x]] <- args[[x]]
}
run_env$u__run_success <- T
run_env2$u__run_success <- T
source(code_path, local = run_env)
},
error = function(e) {
run_env$u__run_error <- e
run_env$u__run_success <- F
run_env2$u__run_error <- e
run_env2$u__run_success <- F
},
finally = {
if (output_full_run_env == F) {
if ("job_output" %in% objects(envir = run_env)) {
run_env2$job_output <- run_env$job_output
}
saveRDS(run_env2, file = save_path)
} else {
saveRDS(run_env, file = save_path)
}
}
)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.