diff --git a/scala/src/org/broadinstitute/sting/queue/engine/Lsf706JobRunner.scala b/scala/src/org/broadinstitute/sting/queue/engine/Lsf706JobRunner.scala index 4439aa7a3..7cc529cce 100644 --- a/scala/src/org/broadinstitute/sting/queue/engine/Lsf706JobRunner.scala +++ b/scala/src/org/broadinstitute/sting/queue/engine/Lsf706JobRunner.scala @@ -63,6 +63,10 @@ class Lsf706JobRunner(function: CommandLineFunction) extends LsfJobRunner(functi request.options |= LibBat.SUB_JOB_NAME } + if (function.jobLimitSeconds.isDefined) { + request.rLimits(LibLsf.LSF_RLIMIT_RUN) = function.jobLimitSeconds.get + } + writeExec() request.command = "sh " + exec diff --git a/scala/src/org/broadinstitute/sting/queue/function/QFunction.scala b/scala/src/org/broadinstitute/sting/queue/function/QFunction.scala index 14ea0ad88..ba7eb247f 100644 --- a/scala/src/org/broadinstitute/sting/queue/function/QFunction.scala +++ b/scala/src/org/broadinstitute/sting/queue/function/QFunction.scala @@ -37,6 +37,13 @@ trait QFunction extends Logging { /** Order the function was added to the graph. */ var addOrder: List[Int] = Nil + /** + * EXPERIMENTAL AND NOT SUPPORTED!! + * Limits the number of seconds that the job will run. + * TODO: Replace with full resource specifications. + */ + var jobLimitSeconds: Option[Int] = None + /** * A callback for modifying the run. * NOTE: This function is for ADVANCED use only and is unsupported.