我有一个 Makefile,它正在组织必须以特定顺序运行的几个分析步骤。分析需要很长时间(一两天),完成后我希望收到一些电子邮件通知make
。有没有一种好方法可以在流程结束时自动发送电子邮件,以便在完成时收到警报,尤其是当其中一个步骤失败时?
我目前正在做这样的事情:
# Makefile
all: results1.dat results2.dat results3.dat
python send_email_when_done.py
results1.dat: long_running_program1.py
python $< > $@ # this takes ~12 hours
results2.dat: long_running_program1.py results1.dat
python $^ > $@ # this takes ~2 hours
results2.dat: long_running_program1.py results2.dat
python $^ > $@ # this takes ~30 hours
send_email_when_done.py
该过程完成后脚本在其中发送电子邮件通知。但这仅在整个过程从头到尾运行且没有任何错误的情况下才有效。有什么好的方法可以做到这一点吗?
+1 以获取可以在Makefile
. 我已经make
在使用setsid make > make.out 2>&1
.