R taskscheduleR不执行脚本

R taskscheduleR not executing script

我正在尝试使用 taskscheduleR 库每分钟 运行 一个脚本。我正在按照 GitHub 页面中的示例进行操作,但 运行 遇到以下问题:

  1. R 表示任务已创建但脚本未正确执行(它应该以追加模式将数据写入文件 - 有问题的文件已经存在)
  2. 我没有看到任何日志文件 - 我认为它们应该存储在与正在执行的脚本相同的位置
  3. 使用 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 add-in 相同的结果,除了我似乎能够那样删除任务。我在我的电脑上有管理员权限(所以它不应该是一个 access-related 问题)。

感谢任何帮助!

解决此问题的最佳解决方案 - 完全按预期工作是使用 Windows .bat 文件到 运行 脚本并使用 windows 调度程序安排它。

.bat 文件包含 运行 R.exe 使用命令提示符 (cmd) 并执行指定 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' 告诉 windows 在批处理模式下使用命令提示符执行它。下一个字符串是您要使用 R 执行的脚本的位置 - 在此处提供完整的文件路径。

将此复制到任何文本编辑器程序,并在保存时指定“.bat”作为扩展名。

您可以在 windows 任务计划程序中创建一个 "basic task",它按要求的时间间隔或根据其他触发器执行 program/script。要执行的脚本将是上面创建的 .bat 文件。关于如何创建此类任务的视频教程(如 youtube 上的这个)有很多,所以我不会在这里详细介绍。