R taskscheduleR不执行脚本
R taskscheduleR not executing script
我正在尝试使用 taskscheduleR
库每分钟 运行 一个脚本。我正在按照 GitHub 页面中的示例进行操作,但 运行 遇到以下问题:
- R 表示任务已创建但脚本未正确执行(它应该以追加模式将数据写入文件 - 有问题的文件已经存在)
- 我没有看到任何日志文件 - 我认为它们应该存储在与正在执行的脚本相同的位置
- 使用
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 上的这个)有很多,所以我不会在这里详细介绍。
我正在尝试使用 taskscheduleR
库每分钟 运行 一个脚本。我正在按照 GitHub 页面中的示例进行操作,但 运行 遇到以下问题:
- R 表示任务已创建但脚本未正确执行(它应该以追加模式将数据写入文件 - 有问题的文件已经存在)
- 我没有看到任何日志文件 - 我认为它们应该存储在与正在执行的脚本相同的位置
- 使用
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 上的这个)有很多,所以我不会在这里详细介绍。