如何设置 qsub 在 job1 完成后五秒(或任何所需的值)运行 job2?
目前我所做的是估计 job1 何时完成,然后使用“#PBS -a [myEstimatedTime+5]”指令为 job2 运行 qsub。但我对我的方法不满意,因为有时它会超过/低于估计
还有更好的解决办法吗?
Currently what I do is to estimate when job1 will be finished, then using the “#PBS -a [myEstimatedTime+5]" directive I run qsub for job2. But I’m not happy with my approach since sometimes it is over/under estimated.
Is there any better solution?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
添加一个在 job1 和 job2 之间运行 5 分钟的消磨时间的作业。集群的运行顺序将是 job1 ->作业(等待5分钟)->工作2。
Add a time-killing job that runs 5 minutes between job1 and job2. The cluster's running order will be job1 -> job (for waiting 5 mins) -> job2.
做到这一点的最佳方法是通过作业依赖性。您可以提交作业:
这不会使其在 5 秒后执行,但会暂停作业(无法运行),直到第一个作业完成。实际上,它会在大约 5 秒后运行,因为大多数调度迭代无论如何都会花费更多的时间。
The best way to do this is through job dependencies. You can submit the jobs:
This won't make it execute 5 seconds after, but it will place a hold on the job (can't run) until after the first job finishes. In practice it will run more than about 5 seconds after because most scheduling iterations take more time than that anyway.