diff options
author | Justin Bedo <cu@cua0.org> | 2019-02-06 10:18:20 +1100 |
---|---|---|
committer | Justin Bedo <cu@cua0.org> | 2019-02-06 10:27:52 +1100 |
commit | 5e2c7c85d001fde0600e77bfbd9d1078fcd561f4 (patch) | |
tree | c4ed092a5c45858f44dbaf17defd7d14dc019c9c /lib | |
parent | 71a9142f58f0e9e738ca1450b91b4672ed41521d (diff) |
qsub: parameterise queue and allow arbitrary flags to be passed
Diffstat (limited to 'lib')
-rw-r--r-- | lib/qsub.nix | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/qsub.nix b/lib/qsub.nix index 53e5780..85036fb 100644 --- a/lib/qsub.nix +++ b/lib/qsub.nix @@ -1,6 +1,8 @@ {stdenv, lib, writeScript}: -{ ppn, mem, walltime, tmpDir, sleepTime}: drv: lib.overrideDerivation drv ({ args, builder, name, ... }: { +with lib; + +{ ppn, mem, walltime, queue ? null, flags ? null, tmpDir, sleepTime}: drv: lib.overrideDerivation drv ({ args, builder, name, ... }: { builder = "/bin/bash"; args = let script = writeScript "qsub-script" '' @@ -27,7 +29,11 @@ NIX_BUILD_CORES=${toString ppn} while : ; do - qsub -l nodes=1:ppn=${toString ppn},mem=${toString mem}gb,walltime=${walltime} -N "${name}" ${script} 2>&1 > id + qsub -l nodes=1:ppn=${toString ppn},mem=${toString mem}gb,walltime=${walltime} \ + -N "${name}" \ + ${optionalString (queue != null) "-q ${queue}"} \ + ${optionalString (flags != null) flags} \ + ${script} 2>&1 > id if [ $? -eq 0 ] ; then break fi |