我如何测试我的 HTCondor 作业是否返回了非零错误代码?

how can I test if any of my HTCondor jobs returned with a non-zero error code?

我有一个脚本 运行 condor_submit 用于一批 25 个作业,condor_wait 用于全部完成,然后另一个 condor_submit 用于另一批 25 个作业.

我想确保前 25 个作业中没有一个因 Normal termination (return value 127)(任何非零 return 值)而失败。

我怎样才能轻松做到这一点? 或者,如果那是不可能的,我也愿意将我的作业可执行文件包装在一个脚本中,如果它们 return 非零 - 但我不确定如何使 HTCondor 作业失败!

您可以使用 condor_history http://research.cs.wisc.edu/htcondor/manual/current/condor_history.html

如果您运行以下命令:

condor_history USERNAME -af clusterId ExitStatus

它将return一个space分隔的

列表

JobId 退出状态

它还支持除了传递 USERNAME 之外的其他选项。

解决此问题的另一种方法是使用 condor_dagman 工具。使用 dagman,您可以列出作业之间的依赖关系,并且当依赖的所有作业都完成时,dagman 会自动提交作业。无需 运行 condor_wait 或查看退出代码。