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

发布于 2024-12-01 18:43:22 字数 121 浏览 1 评论 0原文

目前我所做的是估计 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

未央 2024-12-08 18:43:22

添加一个在 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.

菩提树下叶撕阳。 2024-12-08 18:43:22

做到这一点的最佳方法是通过作业依赖性。您可以提交作业:

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

这不会使其在 5 秒后执行,但会暂停作业(无法运行),直到第一个作业完成。实际上,它会在大约 5 秒后运行,因为大多数调度迭代无论如何都会花费更多的时间。

The best way to do this is through job dependencies. You can submit the jobs:

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

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文