我想在HTCondor池上运行不同批次的工作。假设Type1的10个作业,Type2的20个作业,依此类推。当前作业完成后,这些作业类型中的每一种都应该获得新的作业。
只有一种类型,如果所有作业都已完成或者整个作业批次的时间限制通过,我会使用简单查询。如果满足其中一个要求,则将x作业的下一次迭代提交给集群。
这是通过一个小函数完成的(用Lua编写,对于这个问题并不重要):
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和Type3的作业分开并单独检查?目前它会检查所有作业作为我当前的用户。
在作业中添加标签或其他内容是理想的,因为我可以简单地更改检查呼叫。在文档中我找不到任何容易添加的内容,我记得JobID-s,但是我必须存储那些增加更多复杂性的内容。
答案 0 :(得分:0)
解决方案可以在另一个答案中找到,但我没有找到文档中描述的位置。
在job.sub
文件中添加:
+YourCustomVarName = 1
+YourCustomStringName = "String"
要检查它,请使用:
condor_q -constraint 'YourCustomVarName == 1' -f "%s" JobStatus
或
condor_q -constraint "YourCustomStringName == \"String\"" -f "%s" JobStatus
(报价处理可能会有所不同)