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?
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?
Share asked Mar 14 at 14:45 PheidippidesPheidippides 977 bronze badges1 Answer
Reset to default 1IIRC, in this case, you would use afterany
and the ?
as separator for the list:
--dependency=afterany:\<jobid1\>?afterany:\<jobid1\>?afterany:\<jobid3\>