SECTION input_phase
EXEC=input.exe arg1 arg2
QUEUE=input_queue
NUMPROC=1
SECT_RESOURCES=red nfs_disk:1
PROC_TYPE=Test
SECTION main
EXEC=bin/analysis.exe arg1 arg2 arg3
QUEUE=main_queue
NUMPROC=5
DEPEND=started(input_phase)
PROC_RESOURCES=Linux
STDERR=%J.startup.err
STDOUT=%J.startup.out
NEED=1
SECTION output_phase
EXEC=/home/user/bin/output.exe arg1 arg2 arg3 arg4
QUEUE=output_queue
DEPEND=done(input_phase) && done(main)
NUMPROC=1
This job consists of three sections. input_phase will run one instance of input.exe found in user's home directory, and, in addition to resources defined for the process type "Test", will use the attribute red and 1 unit of nfs_disk resource. This section will be submitted to the input_queue queue.
The main section will run when the input_phase section has been started. It will run 5 instances of executable analysis.exe found in subdirectory "bin" user's home directory, Processes of this section will run only on nodes with attribute Linux. The section will be submitted to main_queue. NEED=1 means that the section will be considered as failed and all its processes will be killed if any of them fails.
The final section of this job is the output_phase sections, and will only be dispatched to run if and when the input_phase and main sections succeed. Otherwise, if any of them fails, this section will become "zombie" and will be treated as canceled. This section will run one instance of the executable output.exe