2017-09-06 100 views
0

我想在我們的HTCondor游泳池上運行不同批次的作業。比方說Type1的10個作業,Type2的20個作業等等。當前工作完成後,這些工作類型中的每一個都應該獲得新工作。HTCondor作業提交標籤

僅使用一種類型,如果所有作業都完成或者整個作業批處理的時間限制已過,則使用簡單查詢。如果滿足其中一個要求,則將x作業的下一次迭代提交給羣集。

function WaitForSims(CheckupDelay) 
    while io.popen([[condor_q -format "%d\n" clusterid]]):read('*all'):len()~=0 do 
     os.execute("echo Checkup timestamp: "..os.date("%x %X")) 
     os.execute(string.format("timeout %d 1>nul",CheckupDelay)) 
    end 
end 

有分離的Type1和Type2和類型3和檢查的工作的可能性:

這是由一個小功能(書面lua,這不是真正重要的問題)來完成他們獨立?目前它將檢查所有作業爲我的當前用戶。

向作業添加標籤或其他內容是理想的,因爲我可以簡單地更改檢查電話。在文檔中我找不到任何易於添加的東西,我可以記住JobID-s,但是我必須存儲那些增加更多複雜性的東西。

回答

0

Linked Answer

解決方案可以在另一個答案被發現,它在文檔中描述,雖然我沒有找到。

job.sub文件中加入:

+YourCustomVarName = 1 
+YourCustomStringName = "String" 

爲了檢驗反對使用:

condor_q -constraint 'YourCustomVarName == 1' -f "%s" JobStatus 

condor_q -constraint "YourCustomStringName == \"String\"" -f "%s" JobStatus 

(報價的處理可能會發生變化)