Added the ability for Queue functions like mkdirs to override if they are done or not.
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@4458 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
parent
97b153f2fa
commit
e02f837659
|
|
@ -12,11 +12,11 @@ class FunctionEdge(var function: QFunction) extends QEdge {
|
|||
var runner: JobRunner =_
|
||||
|
||||
private var currentStatus = {
|
||||
val doneOutputs = function.doneOutputs
|
||||
val failOutputs = function.failOutputs
|
||||
if (failOutputs.exists(_.exists))
|
||||
val isDone = function.isDone
|
||||
val isFail = function.isFail
|
||||
if (isFail.isDefined && isFail.get)
|
||||
RunnerStatus.FAILED
|
||||
else if (doneOutputs.size > 0 && doneOutputs.forall(_.exists))
|
||||
else if (isDone.isDefined && isDone.get)
|
||||
RunnerStatus.DONE
|
||||
else
|
||||
RunnerStatus.PENDING
|
||||
|
|
|
|||
|
|
@ -34,6 +34,30 @@ trait QFunction {
|
|||
*/
|
||||
def dotString = ""
|
||||
|
||||
/**
|
||||
* Returns true if the function is done, false if it's
|
||||
* not done and None if the done status is unknown.
|
||||
*/
|
||||
def isDone = {
|
||||
val files = doneOutputs
|
||||
if (files.size == 0)
|
||||
None
|
||||
else
|
||||
Some(files.forall(_.exists))
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if the function has failed, false if it
|
||||
* has not failed and None if the fail status is unknown.
|
||||
*/
|
||||
def isFail = {
|
||||
val files = failOutputs
|
||||
if (files.size == 0)
|
||||
None
|
||||
else
|
||||
Some(files.exists(_.exists))
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if the file should be used for status output.
|
||||
* @return true if the file should be used for status output.
|
||||
|
|
|
|||
|
|
@ -19,5 +19,7 @@ class CreateTempDirsFunction extends InProcessFunction {
|
|||
|
||||
override def useStatusOutput(file: File) = false
|
||||
|
||||
override def isDone = Some(tempDirectories.forall(_.exists))
|
||||
|
||||
def run() = tempDirectories.foreach(_.mkdirs)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue