Skip to contents

The batchtools local backend is useful for verifying parts of your batchtools setup locally, before using a more advanced backend such as the job-scheduler backends.

Usage

batchtools_local(
  ...,
  fs.latency = 0,
  delete = getOption("future.batchtools.delete", "on-success")
)

Arguments

fs.latency

[numeric(1)]
Expected maximum latency of the file system, in seconds. Set to a positive number for network file systems like NFS which enables more robust (but also more expensive) mechanisms to access files and directories. Usually safe to set to 0 to disable the heuristic, e.g. if you are working on a local file system.

delete

Controls if and when the batchtools job registry folder is deleted. If "on-success" (default), it is deleted if the future was resolved successfully and the expression did not produce an error. If "never", then it is never deleted. If "always", then it is always deleted.

...

Not used.

Details

Batchtools local futures use batchtools cluster functions created by batchtools::makeClusterFunctionsInteractive() with external = TRUE.

An alternative to the batchtools interactive backend is to use plan(future::cluster, workers = I(1)).

Examples

library(future)
plan(future.batchtools::batchtools_local)

message("Main process ID: ", Sys.getpid())
#> Main process ID: 711007

f <- future({
  data.frame(
    hostname = Sys.info()[["nodename"]],
          os = Sys.info()[["sysname"]],
       cores = unname(parallelly::availableCores()),
         pid = Sys.getpid(),
     modules = Sys.getenv("LOADEDMODULES")
  )
})
info <- value(f)
print(info)
#>     hostname    os cores    pid
#> 1 hb-x1-2025 Linux     8 711346
#>                                                                                                                                                                                                    modules
#> 1 CBI:r/4.5.1:bat/0.25.0:fzf/0.65.1:shellcheck/0.11.0:shellcheck-repl/0.4.4:restic/0.18.0:git-flow/1.12.3:git-extras/7.4.0:github-cli/2.76.2:port4me/0.7.1:pandoc/3.7.0.2:quarto/1.7.33:bash-startup/0.5.0