2012-01-13 43 views
0

我正在使用snow parApply()将处理任务分配给本地机器上的多个工作。问题是,如果我在其中一个功能中更改代码,工作人员将不会意识到这些更改。R:雪工人的资源代码

我如何'资源'工人的源代码文件?

编辑

我不能叫源()我的群集上重新EVAL我的所有功能:

cl = makeSOCKcluster(rep("localhost", 5)) 
> clusterCall(cl, getwd) 
[[1]] 
[1] "/home/user" 

[[2]] 
[1] "/home/user" 

[[3]] 
[1] "/home/user" 

[[4]] 
[1] "/home/user" 

[[5]] 
[1] "/home/user" 

> clusterCall(cl, source, 'ets.load.R') 
Error in checkForRemoteErrors(lapply(cl, recvResult)) : 
    5 nodes produced errors; first error: cannot open the connection 

回答

3

更新使用parallel::clusterCall

+0

正确的每一个工人,和在'并行'(这部分)构建的'雪'中也是如此。 – 2012-01-13 20:12:40

+0

雪文件中还有一个名为clusterCall()的函数。 “clusterCall在簇cl中的每个节点上调用具有相同参数的函数fun,并返回结果列表。” – 2012-01-14 14:25:22