如何等待一组 slurm 作业中的一个作业完成

How to wait for one job in a set of slurm jobs to finish

我已经开始 n 个 slurm 作业,我想让一个单独的进程等待至少其中一个完成。等待过程应该使用尽可能少的 cpu 时间,这样轮询就不是理想的(除非没有其他办法)。

我知道scontrol wait_job,但据我所知这只能等待一个作业。

如果你有足够的权限,你可以使用strigger

否则,您可以使用工作流管理器(例如 Fireworks)。他们通常以合理的速度进行投票。

请注意,如果要执行的操作是提交另一个作业,您也可以立即提交并使用 --dependency 参数延迟其执行,直到准备就绪。