aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJustin Bedo <cu@cua0.org>2019-02-06 10:18:20 +1100
committerJustin Bedo <cu@cua0.org>2019-02-06 10:27:52 +1100
commit5e2c7c85d001fde0600e77bfbd9d1078fcd561f4 (patch)
treec4ed092a5c45858f44dbaf17defd7d14dc019c9c /lib
parent71a9142f58f0e9e738ca1450b91b4672ed41521d (diff)
qsub: parameterise queue and allow arbitrary flags to be passed
Diffstat (limited to 'lib')
-rw-r--r--lib/qsub.nix10
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