future workers.This function is like tar_make() except that targets
run in parallel with transient future workers. It requires
that you declare your future::plan() inside the _targets.R script.
future is not a strict dependency of targets,
so you must install future yourself.
tar_make_future(
names = NULL,
reporter = "verbose",
garbage_collection = FALSE,
workers = 1L,
callr_function = callr::r,
callr_arguments = list()
)Names of the targets to build or check. Set to NULL to
check/build all the targets (default). Otherwise, you can supply
symbols, a character vector, or tidyselect helpers like starts_with().
Character of length 1, name of the reporter to user. Controls how messages are printed as targets run in the pipeline. Choices:
"verbose": print one message for each target that runs (default).
"silent": print nothing.
"timestamp": print a time-stamped message for each target that runs.
"summary": print a running total of the number of each targets in
each status category (queued, running, skipped, build, cancelled,
or errored).
Logical, whether to run base::gc()
between targets. The pipeline will run slower but consume less memory.
Positive integer, maximum number of transient
future workers allowed to run at any given time.
A function from callr to start a fresh clean R
process to do the work. Set to NULL to run in the current session
instead of an external process (but restart your R session just before
you do in order to clear debris out of the global environment).
callr_function needs to be NULL for interactive debugging,
e.g. tar_option_set(debug = "your_target").
However, callr_function should not be NULL for serious
reproducible work.
A list of arguments to callr_function.
NULL except if callr_function = callr::r_bg(), in which case
a handle to the callr background process is returned. Either way,
the value is invisibly returned.
To configure tar_make_future() with a computing cluster,
see the future.batchtools package documentation.
# NOT RUN {
tar_dir({
tar_script({
future::plan(future::multisession)
tar_option_set()
tar_pipeline(tar_target(x, 1 + 1))
})
tar_make_future()
})
# }
Run the code above in your browser using DataLab