他の作業が完了したら、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 --
しかし仕事の少なくとも一方がまだ実行されている場合は、他がすでに終了しているが、その後、参加スクリプト開催されていることをはっきりと見ることができますアイドルにならずに終了します。
だからすでに終了しているジョブを処理するソリューションは何ですか?私たちは明らかにこの仕事を終わらせる必要があります。
を、それがあなたを意味'keep_completed'を増やす必要があります。そうしないと、結合ジョブの実行準備が整うと、依存関係は決して満たされず、保留は解放されません。 – clusterdude
使用しているTorqueのバージョンは何ですか?既に修正されているバグが発生している可能性があります。 – dbeer