2014-02-11 42 views
8

Iv'e向PBS提交了幾個作業。現在,我想要我提交的工作,最後將是第一個。在PBS隊列中重新排序項目

一種選擇是保留所有預覽作業(使用qhold)。問題是我使用-W depend=afterok:開關,以便在預覽作業結束後啓用作業。

因此,我PBS隊列外觀類似的東西:

468743.server username queue_name job1   4828 6 36 46gb 24:00 R 16:12 
468744.server username queue_name job1_cont  -- 6 36 46gb 24:00 H -- 
468745.server username queue_name job1_cont  -- 6 36 46gb 24:00 H -- 
468746.server username queue_name job1_cont  -- 6 36 46gb 24:00 H -- 
468747.server username queue_name job1_cont  -- 6 36 46gb 24:00 H -- 
468748.server username queue_name job1_cont  -- 6 36 46gb 24:00 H -- 
468743.server username queue_name job2   4828 6 36 46gb 24:00 R 16:12 
468744.server username queue_name job2_cont  -- 6 36 46gb 24:00 H -- 
468745.server username queue_name job2_cont  -- 6 36 46gb 24:00 H -- 
468746.server username queue_name job2_cont  -- 6 36 46gb 24:00 H -- 
468747.server username queue_name job2_cont  -- 6 36 46gb 24:00 H -- 
468748.server username queue_name job2_cont  -- 6 36 46gb 24:00 H -- 
468753.server username queue_name NewJob  -- 6 36 46gb 24:00 H -- 
468754.server username queue_name NewJob_cont  -- 6 36 46gb 24:00 H -- 
468755.server username queue_name NewJob_cont  -- 6 36 46gb 24:00 H -- 

現在,我想NewJob,這是最後一次上線,在{JOB1,JOB2}完成第一個任務後運行,並在任何「_cont」之前。我希望NewJob_cont作業將在NewJob之後運行。

我可以改變NewJob的排列而不破壞保留隊列層次的其餘部分嗎?

+1

您使用哪些調度程序來運行這些作業? – dbeer

回答

2

您可以使用qalter更改作業的相關性。您可以執行:

qalter 468744 -W depend=after:468753 
qalter 468753 -W depend=after:468743 

這將讓這個468744不執行,直到新的工作,新的工作不執行,直到第一份工作後後。就像您可以在依賴關係之後添加排隊作業一樣,您也可以添加其他類型的依賴關係。

+0

這是一個選項,但由於我有10個「工作#」,除了1和2之外,我不得不推遲他們所有的工作,以便在我的NewJob之後,這將是相當煩人的。 此外,當NewJob正在運行時,其他作業也可以運行,直到服務器管理員設置的限制。 所以這個解決方案並不理想。 無論如何, 羅恩。 – Ronen

+0

如果您希望它們在該作業之後運行,則可以使用afterstart依賴項。 – dbeer

+0

是的,但如果我想多搬一個工作,這將會非常複雜。我想重新排序線性隊列,而不是重新組合依賴圖。 – Ronen