The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
callr::r_bg(){bakerrr} uses callr::r_bg() under the
hood. All r_bg() arguments can be passed via the
bg_args argument in bakerrr()
# Example: Data processing pipeline
process_data <- function(dataset_id, filter_col, threshold) {
  # Input validation
  if (is.null(dataset_id) || !is.character(dataset_id)) {
    stop("Invalid or missing dataset_id: must be character and non-null.")
  }
  if (!filter_col %in% c("score", "value", "rating")) {
    stop("filter_col must be one of 'score', 'value', or 'rating'.")
  }
  if (!is.numeric(threshold) || threshold <= 0) {
    stop("threshold must be positive numeric.")
  }
  # Simulate loading data
  set.seed(as.integer(sub("DS_", "", dataset_id))) # Reproducible per job
  n <- sample(100:500, 1)
  data <- tibble::tibble(
    id = seq_len(n),
    score = round(runif(n, 0, 100)),
    value = round(rnorm(n, 50, 15)),
    rating = sample(1:10, n, replace = TRUE)
  )
  # Apply filter
  filtered <- dplyr::filter(data, data[[filter_col]] >= threshold)
  Sys.sleep(runif(1, 0.5, 2))  # Simulate processing time
  list(
    dataset_id = dataset_id,
    total_records = n,
    filtered_records = nrow(filtered),
    filter_applied = paste(filter_col, ">=", threshold),
    timestamp = Sys.time(),
    preview = head(filtered, 3)
  )
}
# Generate robust argument sets
set.seed(42)
args_list <- purrr::map(1:12, ~ list(
  dataset_id = paste0("DS_", .x),
  filter_col = sample(c("score", "value", "rating"), 1),
  threshold = sample(50:95, 1)
))
# Add intentional error cases
args_list[[5]] <- list(
  dataset_id = NULL,         # error: dataset_id missing
  filter_col = "score",
  threshold = 75
)
args_list[[7]] <- list(      # error: invalid filter_col
  dataset_id = "DS_7",
  filter_col = "unknown_col",
  threshold = 80
)
args_list[[9]] <- list(      # error: invalid threshold
  dataset_id = "DS_9",
  filter_col = "score",
  threshold = -15
)When initiating the bakerrr with bakerrr::bakerrr(),
pass any callr::r_bg() arguments to bg_args
argument as below:
stirr_job <- bakerrr::bakerrr(
  fun = process_data,
  args_list = args_list,
  n_daemons = min(4, length(args_list)),
  # Note how parameters are passed to callr::r_bg()
  bg_args = list(
    stdout = "bakerrr_out.log",
    stderr = "bakerrr_err.log"
  )
)
# Execute with real-time monitoring
stirr_job <- stirr_job |>
  bakerrr::run_jobs(wait_for_results = TRUE)
# Get results
stirr_job@resultsThese binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.