Implemented broad specific LSF requirement in the LSF job runner ahead of GridEngine check in by dheiman.

git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@5781 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
kshakir 2011-05-09 22:14:04 +00:00
parent 7d21350a17
commit 3ffc2ccd81
1 changed files with 7 additions and 8 deletions

View File

@ -56,7 +56,7 @@ class Lsf706JobRunner(val function: CommandLineFunction) extends CommandLineJobR
* Dispatches the function on the LSF cluster.
* @param function Command to run.
*/
def start() = {
def start() {
Lsf706JobRunner.lsfLibLock.synchronized {
val request = new submit
for (i <- 0 until LibLsf.LSF_RLIM_NLIMITS)
@ -79,12 +79,6 @@ class Lsf706JobRunner(val function: CommandLineFunction) extends CommandLineJobR
request.options |= LibBat.SUB_ERR_FILE
}
// If a project name is set specify the project name
if (function.jobProject != null) {
request.projectName = function.jobProject
request.options |= LibBat.SUB_PROJECT_NAME
}
// If the job queue is set specify the job queue
if (function.jobQueue != null) {
request.queue = function.jobQueue
@ -103,6 +97,11 @@ class Lsf706JobRunner(val function: CommandLineFunction) extends CommandLineJobR
request.options2 |= LibBat.SUB2_JOB_PRIORITY
}
// Broad specific requirement, our esub requires there be a project
// else it will spit out a warning to stdout. see $LSF_SERVERDIR/esub
request.projectName = if (function.jobProject != null) function.jobProject else "Queue"
request.options |= LibBat.SUB_PROJECT_NAME
// LSF specific: get the max runtime for the jobQueue and pass it for this job
request.rLimits(LibLsf.LSF_RLIMIT_RUN) = Lsf706JobRunner.getRlimitRun(function.jobQueue)
@ -125,7 +124,7 @@ class Lsf706JobRunner(val function: CommandLineFunction) extends CommandLineJobR
def status = this.lastStatus
private def updateStatus(updatedStatus: RunnerStatus.Value) = {
private def updateStatus(updatedStatus: RunnerStatus.Value) {
this.lastStatus = updatedStatus
this.lastStatusUpdate = System.currentTimeMillis
}