gatk-3.8/scala/src/org/broadinstitute/sting/queue/engine/ShellJobRunner.scala

36 lines
847 B
Scala
Executable File

package org.broadinstitute.sting.queue.engine
import org.broadinstitute.sting.queue.function.CommandLineFunction
import org.broadinstitute.sting.queue.util.ShellJob
/**
* Runs jobs one at a time locally
*/
class ShellJobRunner(val function: CommandLineFunction) extends CommandLineJobRunner {
private var runStatus: RunnerStatus.Value = _
/**
* Runs the function on the local shell.
* @param function Command to run.
*/
def start() {
val job = new ShellJob
job.workingDir = function.commandDirectory
job.outputFile = function.jobOutputFile
job.errorFile = function.jobErrorFile
writeExec()
job.shellScript = exec
// Allow advanced users to update the job.
updateJobRun(job)
runStatus = RunnerStatus.RUNNING
job.run()
runStatus = RunnerStatus.DONE
}
def status = runStatus
}