A function can be run in batch mode if it never fails (replace
errors by warnings) and returns TRUE
in case of success, or FALSE
otherwise.
The items (usually, arguments vector of character strings) on
which to apply fun
sequentially.
The function to run (must return TRUE
or FALSE
and issue only
warnings or messages to be a good candidate, batchable, function).
Further arguments to pass the fun
.
Do we show progression as item x on y... message? This
uses the progress()
function.
Are messages from the batchable function suppressed?
Only warnings will be issued. Recommended if show.progress = TRUE
.
Display start and end messages if TRUE
(default).
Returns invisibly the number of items that were correctly processed
with attributes items
and ok
giving more details.
if (FALSE) { # \dontrun{
# Here is a fake batchable process
fake_process <- function(file) {
message("Processing ", file, "...")
flush.console()
Sys.sleep(0.5)
if (runif(1) > 0.7) { # Fails
warning("fake_process was unable to process ", file)
invisible(FALSE)
} else invisible(TRUE)
}
# Run it in batch mode on five items
files <- paste0("file", 1:5)
batch(files, fake_process)
} # }