Когда вы отправляете 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: я хочу возобновить сценарий, из которого я выполнилqsub myArray
- myArray умрет после запуска всех задач, а не после того, как все эти задачи будут выполнены: я должен ждать завершения задач, а не для
myArrayТак что мне нужен псевдоскрипт, подобный следующему:
#!/bin/bash
qsub -t 1-1000 -N myArray arrayjob.sh
if [all_the_task_are_completed]; then
echo Done!
fi
Как мне получить такое поведение?Заранее спасибо
Есть этот вопрос , но он не о заданиях массива, и он все еще не удовлетворяет мою проблему