Next: About this document ...
Up: Sample JDF Files
Previous: Example 2
  Contents
The following example illustrates the flexibility in the FBSNG dependency clauses. Complex dependency clauses can be created. Since FBSNG automatically orders the executions stream correctly based on the dependency clauses, it doesn't matter which order the sections are entered into the JDF file.
SECTION A
EXEC=AAA.exe
QUEUE=main_queue
NUMPROC=5
DEPEND=done(in1)
STDERR=startup.err
STDOUT=startup.out
MAILTO=testuser@fnal.gov
NEED=1
SECTION B
EXEC=BBB.exe
QUEUE=main_queue
NUMPROC=5
DEPEND=done(in2)
STDERR=startup.err
STDOUT=startup.out
MAILTO=testuser@fnal.gov
NEED=1
SECTION C
EXEC=BBB.exe
QUEUE=main_queue
NUMPROC=5
DEPEND=done(in1) && done(in2)
STDERR=startup.err
STDOUT=startup.out
NEED=1
SECTION ABC
EXEC=ABC.exe
QUEUE=main_queue
NUMPROC=5
DEPEND=done(A) && (done(B) || done(C))
STDERR=startup.err
STDOUT=startup.out
NEED=1
SECTION out
EXEC=output.exe
QUEUE=output_queue
DEPEND=done(ABC)
NUMPROC=1
NEED=1
SECTION in1
EXEC=input.exe
QUEUE=input_queue
NUMPROC=2
NEED=1
SECTION in2
EXEC=input.exe
QUEUE=input_queue
NUMPROC=1
NEED=1
FBSNG enforces the dependency chain specified. The order that the sections appear in the JDF file have no relevance in determining when a section is to be executed. In the above example, in1 and in2 would be immediately eligible to run.
FBSNG Home