如何在job1完成后将qsub设置为运行job2五秒(或任何所需的值)?

时间:2011-08-28 03:48:22

标签: cluster-computing qsub

目前我所做的是估计job1何时完成,然后使用“#PBS -a [myEstimatedTime + 5]”指令我为job2运行qsub。但我对我的方法不满意,因为有时它是估计超过/低于。

有没有更好的解决方案?

2 个答案:

答案 0 :(得分:0)

添加一个在job1和job2之间运行5分钟的时间杀死作业。群集的运行顺序为job1 - >工作(等待5分钟) - > JOB2。

答案 1 :(得分:0)

执行此操作的最佳方法是通过作业依赖性。您可以提交作业:

job1id=`qsub script1.sh`
qsub script.sh -W depend=after:$job1id

这不会让它在5秒后执行,但它会在第一个作业完成之前暂停作业(无法运行)。在实践中,它将运行超过大约5秒钟,因为大多数调度迭代花费的时间多于此。