我使用parallel
包一次多次运行服务器功能。服务器函数循环,直到用户手动停止会话。
它看起来像:
library(parallel)
cluster <- makeCluster(3)
clusterCall(cluster, f)
在Windows上,parallel
通过为集群中的每个worker创建一个Rscript
进程来工作。但是,当终止R会话时,这些进程不会关闭;必须在任务管理器中手动删除它们。由于有十几名左右的工人,这很快就变成了一件麻烦事。
是否可以设置这些进程在父R会话关闭时关闭?
在并行处理之后必须始终关闭连接。试试下面的例子:
library(parallel)
cluster <- makeCluster(3)
clusterCall(cluster, f)
stopCluster(cluster) # always add this line in the end of the script