Make文件中的LSF作业数组

时间:2017-03-23 12:22:41

标签: makefile lsf

我正在运行一个LSF作业数组来在makefile中创建一个目标。 但是,一旦提交了数组,make会考虑执行目标的命令,并在目标不存在时抛出错误。

如何强制make等到LSF作业数组完成后再转移到其他依赖目标上?

示例:

all: final.txt

first_%.txt:
    bsub -J" "jarray[1-100]" < script.sh

final.txt: first_%.txt
    cat first_1.txt first_50.txt first_100.txt > final.txt

不幸的是,作业数组不支持-K标志。

2 个答案:

答案 0 :(得分:1)

尝试bsub -K,这会强制bsub保持在前台,直到作业完成。

修改

由于阵列不支持该选项,我认为您必须将您的阵列作为单独的作业提交,例如:

for i in `seq 1 100`; do 
            export INDEX=$i
            bsub -K < script.sh & 
done
wait

您必须手动将索引传递给脚本,而不是使用作业数组索引。

答案 1 :(得分:0)

您需要请求listeners : { itemclick : function(panel, record , item , index, event){ var clazz = ''; if(event.target.classList != null){ clazz = event.target.classList[0]; } if(clazz != 'x-tree-checkbox'){ ... } } } 命令等待作业完成。我从未使用它,但根据the man page,您可以添加bsub选项来执行此操作。