future (version 1.33.2)

requestCore: Request a core for multicore processing

Description

If no cores are available, the current process blocks until a core is available.

Usage

requestCore(
  await,
  workers = availableCores(),
  timeout = getOption("future.wait.timeout", 30 * 24 * 60 * 60),
  delta = getOption("future.wait.interval", 0.01),
  alpha = getOption("future.wait.alpha", 1.01)
)

Value

Invisible TRUE. If no cores are available after extensive waiting, then a timeout error is thrown.

Arguments

await

A function used to try to "collect" finished multicore subprocesses.

workers

Total number of workers available.

timeout

Maximum waiting time (in seconds) allowed before a timeout error is generated.

delta

Then base interval (in seconds) to wait between each try.

alpha

A multiplicative factor used to increase the wait interval after each try.