如何将PBSPRO作业存储在一个数组中并检查作业是否完成?

时间:2016-12-05 12:49:16

标签: hpc pbs qsub

我试图生成一个允许我检查多个作业是否已在群集上运行的系统。 这个bash代码应该等到所有PBS作业都完成后才能工作:

#create the array

ALLMYJOBS=()

# loop through scripts, submit them and store the job IDs in the array 

for i in 1 2 3 4 5
do
ALLMYJOBS[${i}]=$(qsub script${i}.bash)
done    


JOBSR=true

# check if all jobs have completed:

while [ ${JOBSR} ];do

    JOBSR=false

    for m in "${ALLMYJOBS[@]}"
    do
        if qstat ${m} &> /dev/null; then
        JOBSR=true
        fi
    done
done
我错过了一些明显的东西吗?

1 个答案:

答案 0 :(得分:0)

您实施的方式将继续轮询调度程序,这对大型集群来说是不可取的。

如果我要实施,我将使用工作依赖关系,根据您的所有工作定义另一个工作,检查上一个工作的输出或使用电子邮件通知。