Registers a finalizer to a cluster such that the cluster will be stopped when garbage collected
autoStopCluster(cl, debug = FALSE)
A cluster object created by for instance makeClusterPSOCK()
or parallel::makeCluster()
.
If TRUE, then debug messages are produced when the cluster is garbage collected.
The cluster object with attribute gcMe
set.
The cluster is stopped using
stopCluster(cl)
.
An alternative to explicitly call this function on an existing
cluster
object, is to create the cluster
object using
makeClusterPSOCK()
with argument autoStop = TRUE
.
cl <- makeClusterPSOCK(2, dryrun = TRUE)
#> ----------------------------------------------------------------------
#> Manually, start worker #1 on local machine ‘localhost’ with:
#>
#> '/opt/R/4.4.1/lib/R/bin/Rscript' --default-packages=datasets,utils,grDevices,graphics,stats,methods -e 'options(socketOptions="no-delay")' -e 'workRSOCK<-tryCatch(parallel:::.workRSOCK,error=function(e)parallel:::.slaveRSOCK);workRSOCK()' MASTER=localhost PORT=11575 OUT=/dev/null TIMEOUT=2592000 XDR=FALSE SETUPTIMEOUT=120 SETUPSTRATEGY=sequential
#>
#> ----------------------------------------------------------------------
#> Manually, start worker #2 on local machine ‘localhost’ with:
#>
#> '/opt/R/4.4.1/lib/R/bin/Rscript' --default-packages=datasets,utils,grDevices,graphics,stats,methods -e 'options(socketOptions="no-delay")' -e 'workRSOCK<-tryCatch(parallel:::.workRSOCK,error=function(e)parallel:::.slaveRSOCK);workRSOCK()' MASTER=localhost PORT=11575 OUT=/dev/null TIMEOUT=2592000 XDR=FALSE SETUPTIMEOUT=120 SETUPSTRATEGY=sequential
#>
cl <- autoStopCluster(cl)
print(cl)
#> Socket cluster with 2 nodes where 2 nodes are on host ‘NA’ (R version and platform not queried). This cluster is registered to be automatically stopped by the garbage collector
rm(list = "cl")
gc()
#> used (Mb) gc trigger (Mb) max used (Mb)
#> Ncells 944355 50.5 1802378 96.3 1802378 96.3
#> Vcells 1763191 13.5 8388608 64.0 4056740 31.0