2016-08-02 74 views
1

考慮下面的代碼,這是一個集羣上運行時walltime(#BSUB -W 10:00):競爭for循環之前恢復不完整的PDF文件

pdf("myPlots.pdf") 
for(i in 1:300){ 
# a lot of data processing, unfortunately no data is being saved... 
# ... 

# then plot output 
plot(1) 
} 
dev.off() 

上面代碼中退出,(因爲walltime)和PDF是不完整。 然後,我用this website恢復,所以繪圖數據在文件中,它只是不完整。

有沒有其他方法可以恢復?也許添加一些文本到PDF文件(使用文本編輯器),使PDF文件是完整的?

回答

-1

我會建議提高橋或降低河流。也就是說,我會考慮兩種可能的修正之一,這取決於你在做什麼(這裏沒有很多細節,所以我正在做它):您的循環的每次迭代都是一項完整的任務,以防萬一它在牆壁時間到期之前成爲最後一個循環,或者調整循環計數或wallclock限制以更頻繁地完成作業。

如果你不能改變你的循環計數或walltime,看看是否讓每個迭代追加到前一個,所以任何循環具有完整的輸出端,你可以修改你的循環過程,因而也無所謂是否接下來會有另一個迭代。否則,要麼將循環限制降低到某些可以可靠完成的計數(例如200或250),要麼將您的walltime限制延長到某個值,以便在正常系統負載下完成任務。現在你正在把自己置於一個困難的地方;一個或另一個將不得不移動。

+0

感謝您的建議,但這並沒有回答這個問題:有沒有辦法恢復「不完整的」PDF?我認爲我的問題更多地與PDF標準相關,而不是R. – zx8754