future.callr 0.6.1-9000 Unreleased

future.callr 0.6.1 2021-05-04

Bug Fixes

  • A ‘callr’ future that produces a large amount of standard error (stderr) could stall forever when collecting its results. The exact reason is unknown but the symptom is currently that the underlying ‘processx’ process never terminates, resulting in a never-ending wait for the results. Since futures don’t capture stderr in other backends, the workaround for now is to discard all stderr output. Note that messages, warnings, etc. are still captured and relayed.

future.callr 0.6.0 2021-01-04

Significant Changes

  • Removed S3 generic function await(), which was used for internal purposes.

New Features

  • Add nbrOfFreeWorkers().

Deprecated and Defunct

  • Removed S3 generic function await(), which was used for internal purposes.

future.callr 0.5.0 2019-09-28

Significant Changes

  • resolved() for CallrFuture will launch lazy futures [future (>= 1.15.0)].

New Features

  • Debug messages are now prepended with a timestamp.

future.callr 0.4.0 2019-01-07

New Features

  • Now the future label is exposed in the process information (e.g. top) via a dummy –future-label=“<label>” argument in the callr system call.

Bug Fixes

  • plan(callr, workers) where ‘workers’ being a function would result in an error when a future was created.

future.callr 0.3.1 2018-07-18

New Features

  • The callr backend supports the handling of the standard output as implemented in future (>= 1.9.0).

Bug Fixes

  • Callr futures did not protect against recursive parallelism, e.g. with plan(list(callr, callr)) the second layer of futures would use the same number of workers as the first layer.

future.callr 0.3.0 2018-05-03

New Features

  • Argument ‘workers’ of future strategies may now also be a function, which is called without argument when the future strategy is set up and used as is. For instance, plan(callr, workers = halfCores) where halfCores <- function() { max(1, round(availableCores() / 2)) } will use half of the number of available cores. This is useful when using nested future strategies with remote machines.

  • Gathering of results from background processes is made a little bit more robust against slow file systems by retrying a few times before accepting an error as an error.

Code Refactoring

  • Prepared code to gather a richer set of results from futures.

Bug Fixes

  • Callr futures did not acknowledge timeout option ‘future.wait.timeout’.

future.callr 0.2.0 2018-02-13

New Features

  • Producing errors of class FutureError where applicable.

Documentation

  • Minor updates to the vignette related to the callr package.

future.callr 0.1.1 Unreleased

Bug Fixes

  • Number of workers in plan(callr, workers = n) was not respected.

future.callr 0.1.0 Unreleased

New Features

  • Added callr futures. Use plan(callr) or plan(callr, workers = 4L).