Sun Grid Engine-脚本启动Array-jobs并等待它们全部完成

时间:2018-12-05 10:42:31

标签: bash parallel-processing cluster-computing sungridengine

提交arrayjob时,您将执行以下操作:

qsub -t 1-1000 -N myArray arrayjob.sh 
#This execute arrayjob 1000 simultaneus times, calling the job "myArray"

我想将其包装在另一个脚本中,该脚本告诉我“嗨,所有任务都已完成!”

有人会提出:

qsub somethingAfterAllTheTask.sh -hold_jid "myArray"

但是

  • 我不想在myArray之后开始执行另一个作业:我想恢复执行myArray的qsub的脚本
  • myArray将在启动所有任务后死亡,而不是在所有这些任务完成之后死亡:我必须等待任务完成,而不是myArray的

所以我想要的是这样的伪脚本:

#!/bin/bash
qsub -t 1-1000 -N myArray arrayjob.sh
if [all_the_task_are_completed]; then
    echo Done!
fi

如何获得这种行为?预先感谢

this question,但与数组工作无关,仍然不能满足我的问题

1 个答案:

答案 0 :(得分:0)

在提交arrayjob时使用-sync y,启动所有任务的命令在所有任务完成之前不会消失。

感谢@ Oo.oO