Open pipitone opened 8 years ago
Does SGE have an equivalent?
Andrew asked about this in his initial review
A quick glance at the grid engine man pages doesn't show anything like afterany
dependencies, but we could easily fake it by forcing a 0 return value from the job script.
SLURM offers a number of options:
-d, --dependency=<dependency_list>
Defer the start of this job until the specified dependencies have been satisfied completed. <dependency_list> is of the form <type:job_id[:job_id][,type:job_id[:job_id]]> or
<type:job_id[:job_id][?type:job_id[:job_id]]>. All dependencies must be satisfied if the "," separator is used. Any dependency may be satisfied if the "?" separator is used. Many jobs can share the same depen‐
dency and these jobs may even belong to different users. The value may be changed after job submission using the scontrol command. Once a job dependency fails due to the termination state of a preceding job,
the dependent job will never be run, even if the preceding job is requeued and has a different termination state in a subsequent execution.
after:job_id[:jobid...]
This job can begin execution after the specified jobs have begun execution.
afterany:job_id[:jobid...]
This job can begin execution after the specified jobs have terminated.
afterburstbuffer:job_id[:jobid...]
This job can begin execution after the specified jobs have terminated and any associated burst buffer stage out operations have completed.
aftercorr:job_id[:jobid...]
A task of this job array can begin execution after the corresponding task ID in the specified job has completed successfully (ran to completion with an exit code of zero).
afternotok:job_id[:jobid...]
This job can begin execution after the specified jobs have terminated in some failed state (non-zero exit code, node failure, timed out, etc).
afterok:job_id[:jobid...]
This job can begin execution after the specified jobs have successfully executed (ran to completion with an exit code of zero).
expand:job_id
Resources allocated to this job should be used to expand the specified job. The job to expand must share the same QOS (Quality of Service) and partition. Gang scheduling of resources in the partition is
also not supported.
singleton
This job can begin execution after any previously launched jobs sharing the same job name and user have terminated.
Currently
--depend
sets up dependencies so that all jobs must succeed before the submitted job runs (in PBS this is theafterok
dependency), but sometimes you may want your final job to run regardless of success or failure (afterany
).If there's interest in supporting this kind of dependency, what about adding
--afterok
(which is aliased as--depend
), and--afterany
options.