2013-04-09 73 views
1

我有我希望的一個非常簡單的問題,但我對Sun Grid並不是很熟悉,所以我一直無法找到答案。我目前使用bash提交腳本將作業提交給網格,該腳本生成一個命令並執行它。我已經在網上閱讀過,如果一個太陽網格作業以99的代碼退出,它將被重新提交給網格。我已經成功地寫我的bash腳本來做到這一點:Sun Grid Engine重新提交作業卡在'Rq'狀態

[code to generate command, stores in $command] 
$command 
STATUS=$? 
if [[ $STATUS -ne 0 ]]; then 
    exit 99 
fi 
exit 0 

當我提交這份工作與我知道有一個非零退出狀態的命令電網,作業確實出現重新提交,但是調度從不將它發送到另一臺主機,而不是它只是仍然停留在隊列中與狀態「的Rq」:

job-ID prior name  user   state submit/start at  queue       slots ja-task-ID 
----------------------------------------------------------------------------------------------------------------- 
2150015 0.55500 GridJob.sh my_user  Rq 04/08/2013 17:49:00         1 

我有一種感覺,這東西在隊列的配置選項簡單,但我一直沒能找到任何Google搜索。我試過用qsub -r y選項提交這個工作,但這似乎沒有改變任何東西。

謝謝!

+0

Rq國家代表什麼? – user3138373 2015-10-05 22:24:33

回答

1

重新調度的作業只會在其rerun屬性(默認爲FALSE)設置爲TRUE的隊列中運行,因此請檢查您的隊列配置(qconf -mq myqueue)。沒有這個,你的工作就會無限期地停留在重新安排的待決狀態,因爲它無處可去。

IIRC,提交作業qsub -r yes僅限於在執行節點崩潰時自動重新調度,而以99狀態退出時應該觸發重新調度。

相關問題