我有一个R脚本文件(Main_Script.R),每30分钟在Windows任务计划程序中作为定时任务运行。在Main_Script.R
内,我有大约13个脚本,每30分钟运行一次。
我想要从R中发送电子邮件-每当迭代失败或停止时都会发送。我正在使用sendMailR包,并且我在SO上看到了一篇文章如何在Windows中使用R发送带附件的电子邮件
-关于如何从R Windows发送电子邮件。
但是我不确定如何在计划任务迭代失败或停止时自动发送带有错误消息的电子邮件
。
我的Main_Script.R
-具有所有13个代码的源
。
source(paste(rootAddress,"Scripts/Part1.R",sep =''))
source(paste(rootAddress,"Scripts/Part2.R",sep =''))
:
:
:
:
source(paste(rootAddress,"Scripts/Part13.R",sep =''))
我的计划任务如下所示,带有日志文件
"D:\xxx\R-3.0.2\bin\x64\Rscript.exe" "D:\xx\Batch_Processing\Batch_Processing_Run\Scripts\Main_Test.R" >> "D:\XXX\Batch_Processing\Batch_Processing_Run\error.txt" 2>&1
更新:
当脚本遇到错误时,它应该触发一封包含错误消息和脚本名称或编号的电子邮件,以表示13个脚本中的哪一个失败,并发送到指定的邮件地址。
tryCatch
包裹起来,等待评估完毕后,捕获任何错误并发送电子邮件。 - Roman Luštriktrycatch
处理会很麻烦,是否有其他方法可以获取错误并将其附加在邮件中。在互联网上看到了(options(error=(...))
的建议,但不确定如何操作。 - Prasanna NandakumartryCatch
来包含所有的source
调用。 - Spacedman