【问题标题】:Cron job for an R script failingR 脚本的 Cron 作业失败
【发布时间】:2018-01-13 02:07:07
【问题描述】:

我的 R 脚本在我自己运行时按预期工作,但是当我尝试将它作为 cron 作业运行时,它一直说失败

Error: RStudio not running
Execution halted 

这是 cron 作业的日志文件。

Loading required package: methods

Attaching package: ‘lubridate’

The following object is masked from ‘package:base’:

    date

Linkging to ImageMagick 6.8.9.9
Enabled features: cairo, fontconfig, freetype, fftw, lcms, pango, rsvg, x11
Disabled features: ghostscript, webp
Loading required package: bitops

Attaching package: ‘gmailr’

The following object is masked from ‘package:lubridate’:

    date

The following object is masked from ‘package:utils’:

    history

The following objects are masked from ‘package:base’:

    body, date, labels, message

Error: RStudio not running
Execution halted```

这是我的 cron 作业设置

## cronR job
## id:   job_3284804a12afb8b01664417646b9fc7f
## tags: 
## desc: I execute things
0-59 * * * * /usr/lib/R/bin/Rscript '/home/rstudio/dev/082017_email/weekly_email.R'  >> '/home/rstudio/dev/082017_email/weekly_email.log' 2>&1

```

【问题讨论】:

  • 当你说'当它自己运行'时,你是在 RStudio 中运行它还是通过终端运行它?

标签: r cron rstudio


【解决方案1】:

听起来您正在尝试做一些只能在 RStudio 中运行的事情。也许你们中的一个函数正在尝试调用只能在 RStudio 中运行的函数,例如来自 here 的函数之一?

在这种情况下,正如here 建议的那样,您可以使脚本的行为取决于它是否在 Rstudio 中运行。这可以通过following line 来实现:

isRStudio <- Sys.getenv("RSTUDIO") == "1"

希望这会有所帮助。

【讨论】:

  • 这成功了!谢谢!罪魁祸首是“rstudioapi::getActiveDocumentContext()$path”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-21
  • 1970-01-01
  • 1970-01-01
  • 2016-06-04
  • 2019-06-04
  • 2016-01-10
相关资源
最近更新 更多