我已经启动了n 个 slurm 作业,并且我想让一个单独的进程等待,直到其中至少一个作业完成。等待过程应该使用尽可能少的CPU时间,这样轮询就不太理想(除非没有其他办法)。
我知道 scontrol wait_job
,但据我所知,它只能等待一项作业。
最佳答案
如果您有足够的权限,可以使用strigger 。
否则,您可以使用工作流程管理器(例如 Fireworks )。他们通常会进行民意调查,但速度合理。
请注意,如果要执行的操作是提交另一个作业,您也可以立即提交它并使用 --dependency
参数延迟其执行直到准备好。
关于wait - 如何等待一组 slurm 作业中的一个作业完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57308469/