Thank you all. I had thought of writing my own, but I suspected it would be too large of a time sink. Your nudges (and example script) have convinced me otherwise, and in fact this is what I will do! Thanks again!
On Tue, Apr 22, 2025 at 3:12 AM Bjørn-Helge Mevik via slurm-users < slurm-users@lists.schedmd.com> wrote:
Davide DelVento via slurm-users slurm-users@lists.schedmd.com writes:
I've gotten a request to have Slurm notify users for the typical email things (job started, completed, failed, etc) with a REST API instead of email. This would allow notifications in MS Teams, Slack, or log stuff in some internal websites and things like that.
We are just in the process of implementing this on one of our clusters. (The ReST API is already there, what we are implementing is Slurm using it instead of sending emails.) For us, it is quite easy: Simply write a bash script that uses SLURM_* environment variables to get information about the message and user, and then uses curl to issue the required ReST API calls. Then we set the MailProg parameter in slurm.conf to point to this script.
Here is our current test version for this script (so far, it simply logs what it would do instead of actually contacting the ReST API, together with some debug output):
#!/bin/bash
exec &>> /tmp/mail.log
echo $(date +%FT%T): Starting SUBJECT="$2" echo Args: while [[ $# > 0 ]]; do echo "$1" shift done echo echo Envs: env | grep SLURM | sort echo
case $SLURM_JOB_MAIL_TYPE in Began) ACTION="started";; Ended) if [[ $SLURM_JOB_STATE == COMPLETED ]]; then ACTION="completed" elif [[ $SLURM_JOB_STATE == CANCELLED ]]; then ACTION="been cancelled" else ACTION="ended" fi;; Requeued) ACTION="been requeued";; *) ACTION="unknwon action";; esac
BODY="Your job $SLURM_JOB_ID ($SLURM_JOB_NAME) on $SLURM_CLUSTER_NAME has $ACTION. "
echo Recipient: $SLURM_JOB_USER echo Subject: $SUBJECT echo Body: echo $BODY echo echo Done.
-- Regards, Bjørn-Helge Mevik, dr. scient, Department for Research Computing, University of Oslo
-- slurm-users mailing list -- slurm-users@lists.schedmd.com To unsubscribe send an email to slurm-users-leave@lists.schedmd.com