.tmplib <- lapply(c('{{{pkg_list}}}'), 
                  library, character.only = TRUE, quietly = TRUE)
{{#add_obj}}
load('add_objects.RData')
{{/add_obj}}

.rslurm_func <- {{{func}}}

.rslurm_params <- readRDS('params.RData')
.rslurm_id <- as.numeric(Sys.getenv('SLURM_ARRAY_TASK_ID'))
.rslurm_istart <- .rslurm_id * {{{nchunk}}} + 1
.rslurm_iend <- min((.rslurm_id + 1) * {{{nchunk}}}, nrow(.rslurm_params))
.rslurm_result <- do.call(parallel::mcMap, c(.rslurm_func,
    .rslurm_params[.rslurm_istart:.rslurm_iend, , drop = FALSE],
    mc.cores = {{{cpus_per_node}}}))
               
saveRDS(.rslurm_result, file = paste0('results_', .rslurm_id, '.RData'))
