TRABAJOS CON CONDICIÓN
En ocasiones es necesario enviar un trabajo con condiciones. Por ejemplo, cuando se requiere ejecutar un trabajo después que finalice otro correctamente o ejecutar un trabajo después que otro empiece. En estos casos se utiliza la opción --dependency para especificar la condición.
Suponiendo que se desea que el trabajo 2 comience si el trabajo 1 terminó correctamente, primero se envía el trabajo 1 y se anota el id del mismo.
sbatch job1.sl submitted job 4305
Posteriormente, en el script del trabajo 2 se indica la condición y el id del trabajo 1 separados por (:)
#SBATCH --dependency=afterok:4305
También puede usarse el comando sbatch:
sbatch --dependency=afterok:4305 job2.sl
La dependencia no está limitada a un solo trabajo, es decir, se pueden poner dependencias con respecto a varios trabajos. Por ejemplo:
#SBATCH --dependency=afterok:4305:4306:4307 job4.sl
Además de afterok existen otras dependencias:
after – después que el trabajo haya terminado (no importa como)
afterany – después que cualquier trabajo haya terminado
afternotok – después que el trabajo haya terminado con fallo.
La lista completa de dependencias se puede ver con el comando:
man sbatch