From 5e2c7c85d001fde0600e77bfbd9d1078fcd561f4 Mon Sep 17 00:00:00 2001 From: Justin Bedo Date: Wed, 6 Feb 2019 10:18:20 +1100 Subject: qsub: parameterise queue and allow arbitrary flags to be passed --- lib/qsub.nix | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'lib') 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 -- cgit v1.2.3