複数のファイルをロードするスクリプトを実行しています。ロードされたファイルが 50 個に達すると、「すべての接続が使用中です」というエラーが表示されます。
接続を閉じる必要があると考えましたが、次の問題が発生しました。
con = file(paste('/home/rstudio/userstats/',cuserid,'.tsv',sep=""))
userstats_current = read.table(con, sep="\t", header=0, quote="", stringsAsFactors=F)
close(con)
Error in close.connection(con) : invalid connection
ただし、次のように入力すると、すべて正常に動作します。
con = file(paste('/home/rstudio/userstats/',cuserid,'.tsv',sep=""))
close(con)
read.table が適用されたときに接続に何かが起こりますか?これらの接続を閉じるにはどうすればよいですか?
アップデート
ご回答ありがとうございます。問題は、しばらくして 1 つのコアでも foreach ループを実行すると、このすべての接続エラーが発生し続けることです。
registerDoMC(2)
matrix <- foreach(i=1:nrow(sample), .combine=rbind) %dopar% {....}