2
一旦其他人完成,我將啓動一個pbs腳本。對於我使用這個命令:等待已完成的作業
$ job1=$(qsub job1.pbs)
$ jobN=$(qsub jobN.pbs)
$ qsub -W depend=afterok:$job1:$jobN join.pbs
這工作,在大多數情況下。但是,如果我在job1和jobN已完成時運行加入腳本,它將無限期地空閒,因爲它正在等待已完成的作業完成。這聽起來很瘋狂,但這是發生了什麼。如果我運行qstat
我可以清楚地看到,我的加盟工作正在舉行(「H」)
$ qstat -u me
Job ID Username Queue Jobname SessID NDS TSK Memory Time S Time
--------------- -------- -------- ---------- ------ --- --- ------ ----- - -----
1990613 me workq join.pbs -- 1 1 -- -- H --
但是如果作業中的至少一個仍然在運行,而另一個已經完成,那麼在加入腳本不會閒置並完成。
那麼有什麼解決方案來處理已經結束的工作?我們顯然需要完成這項工作。
如果作業從'qstat'消失了,這意味着你需要增加'keep_completed'。否則,當聯接作業準備好運行時,依賴關係永遠不會滿足,並且永遠不會釋放。 – clusterdude
您使用的是什麼版本的扭矩?這可能是你遇到了一個已經修復的錯誤。 – dbeer