我目前通过循环在qsub上排队了一堆工作
for fn in $FNS; do
queue_job $(options_a $fn) $(options_b $fn)
done
queue_job
是一个通过使用 qsub 排队作业的脚本,并且 options_a/b
是我编写的基于文件名添加一些作业选项的函数。我通过这种方式排队多达 5k 个作业,我希望能够立即将它们全部添加到队列中(或者以更大的块如每次 40 个)而不是在循环中逐个添加。
我知道我可以将行发送到xargs
并以并行方式执行它们。
??? | xargs -P 40 -I{} command {}
但我不确定如何将我的for循环翻译成xargs
xargs .. sh -c 'fn=$1; queue_job $(options_a $fn) $(options_b $fn)' --
? - KamilCuk