====== Job dependencies ======
SLURM allows you to define different kind of dependencies between jobs, for instance to make sure that certain jobs will run only if another job succeeded/failed. The dependencies can be added to your job script using the following line:
#SBATCH --dependency=type:jobid1:jobid2:jobidN,type:jobid1:jobid2:jobidN,...
The job id should belong to an already submitted job, while type should be one of the following:
|**Type** |**Meaning** |
|after |Start this job after the specified jobs have started |
|afterany |Start this job after the specified jobs have completed |
|afternotok|Start this job after the specified jobs have failed |
|afterok |Start this job after the specified jobs have successfully completed |
|expand |Use this job allocation to expand the job allocation of the specified job (just one, must be in the same partition and have a similar wall clock time)|
|singleton |Start this job after all previously submitted jobs with the same name have completed |
===== Example =====
$ sbatch jobscript.sh
Submitted batch job 12345
$ sbatch jobscript.sh
Submitted batch job 12346
$ sbatch --dependency=afterok:12345:12346 jobscript.sh
Submitted batch job 12347