slurm

Make a slurm job depend on ANY of the specified job ids


I'm trying to make a slurm job start after any of the given dependencies has finished, whatever the status of the corresponding jobs are. This means the job should start as soon as one of the dependency is done (in which case I agree, the other specified dependencies are no longer real dependencies).

I found the afterany term very misleading in that regard because I thought it would do precisely what I'm describing but it actually starts the dependent job only when ALL dependencies have finished or are canceled (as opposed to ANY). I guess the "any" part stands for "any job status" (successfully terminated, canceled, failed, etc ...)

Did anyone already achieved this with slurm dependencies?


Solution

  • IIRC, in this case, you would use afterany and the ? as separator for the list:

    --dependency=afterany:\<jobid1\>?afterany:\<jobid1\>?afterany:\<jobid3\>