目前我所做的是估计job1何时完成,然后使用“#PBS -a [myEstimatedTime + 5]”指令我为job2运行qsub。但我对我的方法不满意,因为有时它是估计超过/低于。
有没有更好的解决方案?
答案 0 :(得分:0)
添加一个在job1和job2之间运行5分钟的时间杀死作业。群集的运行顺序为job1 - >工作(等待5分钟) - > JOB2。
答案 1 :(得分:0)
执行此操作的最佳方法是通过作业依赖性。您可以提交作业:
job1id=`qsub script1.sh`
qsub script.sh -W depend=after:$job1id
这不会让它在5秒后执行,但它会在第一个作业完成之前暂停作业(无法运行)。在实践中,它将运行超过大约5秒钟,因为大多数调度迭代花费的时间多于此。