使用taskscheduleR包安排任务

时间:2018-04-21 14:49:38

标签: r scheduler

我需要安排以下R scipt:

remove(list=ls())
library(DBI)
library(ROracle)
drv <- dbDriver("Oracle")

connection <- dbConnect(drv, username="****", password="****", dbname="name_of_db")

mydata <- dbGetQuery(connection, "
                                      SELECT Var1, Var2,
                                      FROM Table
                                      WHERE Var3 = '123' ")

write.table(mydata, "C:/Andrea/R/mydata.txt, sep="\t")

所以,我只是从Oracle获取数据,然后将结果转换为.txt并将其保存在C:/ Andrea / R中。

我希望每天早上06:00运行它,以便每天在C:/ Andrea / R中更新.txt

我想用R Packahe“taskscheduleR”来做,我做了语法:

library(taskscheduleR)
wma <- file.path("C:", "Andrea","MyScript.R")
taskscheduler_create(taskname="mytask"), rscript = wma, schedule = "DAILY", starttime="06:00",
startdate=format(Sys.Date()+1. "%d/%m/%Y"))

到目前为止一直很好:“mytask”是一个很好的创造。 但是,当到达06:00时,似乎MyScript.R不会运行,因为mydata.txt不会在C:/ Andrea / R /文件夹中生成。

此外,我尝试取消刚创建的mytask:

taskscheduler_delete(taskname="mytask")

但它是:Acess Deny。

请帮我解决一下,好吗?

1 个答案:

答案 0 :(得分:0)

替代方案,也许不是最好的方法可能是:
不使用taskscheduleR,请考虑我的批处理命令运行R脚本需要运行特定程序和命令行参数。

toptwenty.bat文件:

  

@echo off“C:\ Program Files \ R \ R-3.2.3 \ bin \ i386 \ R.exe”CMD BATCH   “H:\ rProj \ TOP20 \ fillTopTwenty.R”

我在Windows任务计划程序中查看的计划任务(手动设置)会调用此批处理文件。