强制Condor超时退出(0)

时间:2014-05-06 01:43:07

标签: condor

我附上以下行

periodic_remove = CurrentTime-EnteredCurrentStatus > 1200

到一个神鹰子文件,并在20分钟后中止作业,如我所愿。但是,此子文件是DAG文件的一部分,并且由于作业中止,DAG文件将不会移动到后续作业。

有没有办法制作这个超时代码,在DAG调度程序的作用下表现得如此成功,以便调度程序启动后续作业?

第一次修改

我想我可能已经找到答案的提示:

您可以使用这些表达式自动执行许多常见操作。例如,假设您知道您的工作将永远不会运行超过一个小时,如果它运行超过一个小时,则可能出现问题,需要进行调查。而不是让你的工作不必要地在集群上运行,Condor可以暂停你的工作,并将以下内容添加到提交文件中:

periodic_hold = (ServerStartTime - JobStartDate) > 3600

或者假设您有一个偶尔会出现段错误的工作但是您知道如果再次对同一数据运行它,它很可能会成功完成。您可以通过将此行添加到提交文件来获得此行为:

on_exit_remove = (ExitBySignal == True) && (ExitSignal != 11)

如果信号退出并且信号编号为11(表示分段错误),则上述表达式不会让作业离开队列。在任何其他工作退出的情况下,它将离开队列。

此信息是此处整体神鹰教程的一部分:http://etutorials.org/Linux+systems/cluster+computing+with+linux/Part+III+Managing+Clusters/Chapter+15+Condor+A+Distributed+Job+Scheduler/15.2+Using+Condor/

任何人都可以验证这是否正确吗?

1 个答案:

答案 0 :(得分:2)

使用on_exit_remove,不是关键,我添加了

on_exit_remove =  (ExitCode == 1)
添加

到* .sub文件

periodic_hold = (ServerStartTime - JobStartDate) > 3600

因为我试图强制删除的作业被视为* .dag文件的成功,但是* .sub文件的这一添加导致我的作业继续在队列中回收并且没有一个完成了。

解决方案是在删除作业后制作POST脚本。我想这个脚本可以是评估成功的任何东西。我刚刚使用了一个带有简单echo命令的bash文件。

基本上,正如它在这里所说: http://research.cs.wisc.edu/htcondor/manual/v8.0/2_10DAGMan_Applications.html

在2.10.2节,子弹点SCRIPT下,只要POST脚本的计算结果为true,则输入作业的退出代码将基本为0。