Registers a finalizer to a cluster such that the cluster will be stopped when garbage collected
Arguments
- cl
A cluster object created by for instance
makeClusterPSOCK()
orparallel::makeCluster()
.- debug
If TRUE, then debug messages are produced when the cluster is garbage collected.
Details
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
.
Examples
cl <- makeClusterPSOCK(2, dryrun = TRUE)
#> ----------------------------------------------------------------------
#> Manually, start worker #1 on local machine ‘localhost’ with:
#>
#> '/home/henrik/shared/software/CBI/_ubuntu22_04/R-4.5.0-gcc11/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=11087 OUT=/dev/null TIMEOUT=2592000 XDR=FALSE SETUPTIMEOUT=120 SETUPSTRATEGY=sequential
#>
#> ----------------------------------------------------------------------
#> Manually, start worker #2 on local machine ‘localhost’ with:
#>
#> '/home/henrik/shared/software/CBI/_ubuntu22_04/R-4.5.0-gcc11/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=11087 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 1007628 53.9 1944232 103.9 1944232 103.9
#> Vcells 1865969 14.3 8388608 64.0 2611581 20.0