2012-01-13 57 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