R taskscheduleR不执行脚本

标签 r scheduled-tasks windows-task-scheduler r-taskscheduler

我尝试使用 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 任务计划程序(我的电脑是法语的 - 无法更改,抱歉):

Deleting task in Windows Task Scheduler

与 R 加载项的结果相同,只是我似乎能够以这种方式删除任务。我在我的计算机上拥有管理员权限(因此它不应该是与访问相关的问题)。

最佳答案

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

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

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

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

关于R taskscheduleR不执行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47796662/

相关文章:

r - 插入符号和 GBM : task 1 failed - "arguments imply differing number of rows"

r - 将两个数据框与字符串中具有特定模式的列合并

r - 具有 "gp"的 GAM 更平滑 : how to retrieve the variogram parameters?

windows - SCHTASKS.exe 的参数生成器

.net-core - dotnet 控制台应用程序,使用通用主机、HostedService、Windows 任务计划程序保持运行状态

r - 使用glm构建逻辑回归模型时排除多于一列

c# - 程序运行了多少次? C#

selenium - Windows 任务计划程序中模式 "Run whether user is logged on or not"的屏幕分辨率

c# - 如何通过 C# 代码在 Sql Agent (Sql Server 2005) 中安排作业?

system - 创建从普通用户帐户运行的具有管理权限的计划任务