从任务计划程序重试失败的R脚本

时间:2020-11-10 19:34:50

标签: sql r windows odbc

我有一个R脚本,该脚本设置为使用ODBC加载SQL查询,修改结果,将其粘贴到Excel文件中,然后通过电子邮件发送。所有这些都设置为每天通过Windows Task Scheduler运行。有时,SQL Server为恢复而暂时停机,这可能会导致脚本在尝试提取SQL数据时立即失败。是否有简单的代码来检查错误结果并再次重试SQL代码?我之前曾在网站上发布过针对此类似问题的以下答案,但看不到如何将其与我的代码集成。

some_function_that_may_fail <- function() {
  if( runif(1) < .5 ) stop()
  return(1)
}

r <- NULL
attempt <- 1
while( is.null(r) && attempt <= 3 ) {
  attempt <- attempt + 1
  try(
    r <- some_function_that_may_fail()
  )
} 

我的失败代码示例如下:

require(odbc)
CON <- dbConnect(odbc::odbc(), dsn = "sqlserver")

SQL<-"
SQL Query Here
"

DATA<-dbGetQuery(CON,SQL)
dbDisconnect(CON)

0 个答案:

没有答案
相关问题