我尝试使用taskscheduleR
库每分钟运行一次脚本。我跟随GitHub页面中的示例,但遇到了以下问题:
taskscheduler_delete("rds_task")
删除任务不起作用这是我的代码:
taskscheduler_create(taskname = "rds_task",
rscript = "./Testing_Scheduler/testing_scheduler.R",
schedule = "MINUTE",
starttime = format(Sys.time() + 30, "%H:%M"),
startdate = format(Sys.time(), "%d/%m/%Y"),
modifier = 1)
testing_scheduler.R
的内容:
dat <- mtcars
data.table::fwrite(dat[1, ], "./Testing_Scheduler/testfile.txt", append = T)
要删除任务,我使用了:
taskscheduler_delete("rds_task")
哪个不成功。我最终使用Windows任务计划程序(我的计算机是法语 - 不能改变它,抱歉):
与R加载项相同的结果,除了我似乎能够以这种方式删除任务。我在我的计算机上拥有管理员权限(所以它不应该是与访问相关的问题)。
感谢任何帮助!
答案 0 :(得分:0)
围绕此问题的最佳解决方案 - 与预期完全一致的是使用Windows .bat文件来运行脚本并使用Windows调度程序安排它。
.bat文件包含使用commamnd prompt(cmd)运行R.exe并执行指定的R代码的命令:
@echo on
"C:\Program Files\R\R-3.4.2\bin\x64\R.exe" CMD BATCH C:\Users\gma\Desktop\R_Task\script1.R
以上是.bat文件的所有内容。第一个字符串(在引号中)是系统上安装R的位置。 'CMD'和'BATCH'告诉窗口在批处理模式下使用命令提示符执行它。下一个字符串是您要使用R执行的脚本的位置 - 在此处提供完整的文件路径。
将其复制到任何文本编辑器程序,保存时,指定“.bat”作为扩展名。
您可以在Windows任务计划程序中创建一个“基本任务”,该任务以所需的时间间隔或基于其他触发器执行程序/脚本。要执行的脚本是上面创建的.bat文件。有关如何创建此类任务的大量视频教程(如youtube上的这一篇),所以我不会在这里详细介绍。