A batchtools local future is an synchronous uniprocess future that will be evaluated in a background R session. A batchtools interactive future is an synchronous uniprocess future that will be evaluated in the current R session (and variables will be assigned to the calling environment rather than to a local one). Both types of futures will block until the futures are resolved.
batchtools_local(..., envir = parent.frame())The environment in which global environment should be located.
Additional arguments passed to BatchtoolsUniprocessFuture().
An object of class BatchtoolsUniprocessFuture.
batchtools local futures rely on the batchtools backend set up by
batchtools::makeClusterFunctionsInteractive(external = FALSE)
and batchtools interactive futures on the one set up by
batchtools::makeClusterFunctionsInteractive().
These are supported by all operating systems.
An alternative to batchtools local futures is to use
cluster futures of the future
package with a single local background session, i.e.
plan(cluster, workers = "localhost").
An alternative to batchtools interactive futures is to use
plan(sequential, split = TRUE) futures of the future package.
## Use local batchtools futures
plan(batchtools_local)
## A global variable
a <- 1
## Create explicit future
f <- future({
b <- 3
c <- 2
a * b * c
})
#> [18:23:17.768] Launched future #1
v <- value(f)
print(v)
#> [1] 6
## Create implicit future
v %<-% {
b <- 3
c <- 2
a * b * c
}
#> [18:23:18.042] Launched future #1
print(v)
#> [1] 6