#slurm
#slurm
Вопрос:
У меня есть пакетный скрипт SLURM (v19.05.6) :
test.sh
:
#!/bin/bash
#SBATCH --mail-user=First.Last@domain.com
#SBATCH --mail-type=ALL
env
В моем скрипте я хотел бы иметь возможность получать адрес электронной почты (т. Е. First.Last@domain.com
), который SLURM использует для отправки почты пользователю. Я распечатал среду (т. Е. env
), и она не задана как переменная среды. Просмотр справочной страницы для sacct
также не содержит поля для адреса электронной почты.
ВОПРОС :
Как мне получить адрес электронной почты, используемый SLURM для отправки электронной почты пользователям? В моем случае я хотел бы захватить этот адрес электронной почты и использовать его в последующих созданных заданиях.
Ответ №1:
Вы всегда можете попробовать скопировать его из сценария задания:
MAIL=`grep -m 1 "mail-user=" $0 | cut -d = -f2`
-m 1
останавливает grep при первом совпадении и $0
разрешает путь к скрипту.
Я думаю, что это даже моя предпочтительная версия, поскольку она не требует дополнительной связи с slurmctld. Для более новых версий (20.02 ) вы также можете проанализировать выходные данные из scontrol
:
MAIL=`scontrol show job ${SLURM_JOB_ID} | grep MailUser | tr -s ' ' | cut -d ' ' -f 2 | cut -d = -f 2`
Комментарии:
1. Спасибо, хорошая идея. Я использую версию 19.05.6, и эта информация, похоже, не сохраняется как пользователь почты.
2. Ах, извините, у меня нет доступного кластера 19.05. Я посмотрю, смогу ли я придумать другой способ.
3. Я попробовал первую команду в SLURM 19.05.6, и она сработала. Я попробовал 2-ю команду, и она сработала в нашей системе SLURM 20.02.4