library(future)
plan(multicore)
f <- future(tools::pskill(pid = Sys.getpid()))
r <- result(f)
# Error: Failed to retrieve the result of MulticoreFuture (<none>) from the
# forked worker (on localhost; PID 1136927). Post-mortem diagnostic: No process
# exists with this PID, i.e. the forked localhost worker is no longer alive
When there is a non-recoverable FutureError, set the state of the future to "failed". This can then be used to prevent further attempts to retrieve the result(). OTH, this requires that we know the problem cannot be recovered from. For instance, if it's due to a temporary communication issue, it might work when we call result(f) at a later stage.
For example,
Suggestion
When there is a non-recoverable FutureError, set the state of the future to
"failed"
. This can then be used to prevent further attempts to retrieve theresult()
. OTH, this requires that we know the problem cannot be recovered from. For instance, if it's due to a temporary communication issue, it might work when we callresult(f)
at a later stage.See also
This is related to Issue #667.