bpipe
bpipe copied to clipboard
add arbitrary configuration name support for 'multi' or 'multiExec'
'multi' and 'multiExec' is a very useful way to parallelize the processing inside a bpipe stage. It would be great if the support of arbitrary cluster job configuration name can be added. Thank you.
Have implemented this in commit 2d25d53.
There's a quick example in the tests:
https://github.com/ssadedin/bpipe/blob/master/tests/multi_with_config/test.groovy
Would be great if you are able to build from master and see if this satisfies your need or not. It is somewhat limited as you can only use a configuration once at the moment. I will update with support for lists of commands later.
NB: I realised it was really trivial to support multiple commands per config, so have done that as well. The test above is updated with an example of that case.
There seems to be an issue when using 'multi' inside a "produce" block, even without using the configuration name. The stage will take forever before submitting the job to the cluster. Tried both 0.9.9 and the version build from master, both with the same issue. Thank you for your help.
e.g:
test = {
produce("test1.txt", "test2.txt")
{
multi "echo test1 >test1.txt", "echo test2 >test2.txt"
}
}
How to use the same config for multiple commands? Use the same config name multiple times would cause a duplicate key error since it's a map. Thank you.