当长时间进程完成时设置R警报

14

我正在运行一个非常长的进程,如果有一种方法可以让R在完成时通过电话、电子邮件或短信通知我就太好了。是否有一种设置R电子邮件脚本的方法,当程序终止时运行该脚本,或者使用IFTTT发送短信或电话,以防我正在睡觉。

我正在使用RStudio作为我的IDE,所以也许有这样的功能。

如果有一种跟踪进度的方法那就更好了,但不是必须的。

1个回答

10

从这篇文章中:

http://alicebrawley.com/getting-r-to-notify-you-when-its-finished/

我的通用解决方案是将R包邮件与各种IFTTT(如果这样,那么)配方结合使用。我使用mail在R中使用函数发送电子邮件,然后使用IFTTT立即通知我该特定电子邮件。

一旦您安装了mail,使用以下函数在代码完成时向自己发送电子邮件。

#Have R email you when it's done running.
###Calculating - your wish is R's command.
library(mail)
#Send yourself an email - specify your preferred email address, subject, and message. The password is fixed at "rmail".
sendmail("xxxxx@xxxxx.com", subject="Notification from R", message="Conditions finished running!", password="rmail")

您可以使用IFTT通过电子邮件触发。

如果您正在计算机旁边睡觉,请考虑以下内容:有没有办法让R在脚本结束时哔哔声/播放声音?


电子邮件从哪里发送?我需要提供自己的电子邮件和密码吗? - Adam
1
@adam 这是从软件包作者的服务器发送的。您只需要传递您的接收电子邮件地址即可。 - C8H10N4O2
我知道这个问题应该已经关闭了,但是sendmail("myemail@domain.com")开始返回"Problem!"。有什么原因吗?我该如何解决?我已经尝试了多个不同域名的地址。 - Adam
1
@Adam 我相信 API 调用已经被限制了(以防止垃圾邮件)。如果你正在进行大量的这些调用,你可能想尝试使用 gmailr 或其他使用你的 IMAP 帐户的电子邮件包。 - C8H10N4O2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接