PBS使用作业数组延迟执行

时间:2014-10-09 21:46:03

标签: job-scheduling pbs deferred-execution

我正在尝试编写一个作业数组,以便各个工作在稍微不同的时间点开始。 (因为我唤起的程序使用一天中的时间到最近的秒作为随机种子,如果所有作业同时提交,它将产生相同的结果。)

以下是我使用的指令:

#!/bin/bash
#PBS -N test
#PBS -t 1-10                   # Job array
#PBS -a hhmm.ss                # Deferred execution

echo Time is `date` >> test.out

但我希望-a可以间隔开来。我正在考虑编写一个小子程序,打印出该格式的随机数并将其输入-a,但我不知道如何选择-a采用变量。

欢迎使用任何其他行的解决方案,唯一的要求是作业数组中的作业以随机时间间隔开始间隔开。

希望这是有道理的,如果不是,我会很乐意澄清。

1 个答案:

答案 0 :(得分:0)

#!/bin/bash
#PBS -N test
#PBS -t 1-10                   # Job array

sleep `expr $RANDOM % 60`     
echo Time is `date` >> test.out

一位朋友建议在脚本开头使用等待或睡眠,以便在重新开始之前等待作业。这个expr $ RANDOM%60将它们隔开几秒钟(小于60)。请注意,您不再需要延迟执行(没有-a指令)。