【发布时间】:2018-11-27 23:53:39
【问题描述】:
我试图每小时运行一个 R 脚本,从 API 下载数据,对其进行操作,然后写出一些产品。每次运行需要 3-5 小时,但我似乎无法安排一个同时成功运行多个实例的任务。
- 我使用 Windows (10) 任务计划程序来计划在给定时间触发的任务,然后每 1 小时重复一次。
- 无论是否登录,我都会以最高权限运行它(没有问题)
-
该操作涉及运行包含以下文本的 .bat 文件:
@echo on start "" "C:\Program Files\R\R-3.4.2\bin\x64\R.exe" CMD BATCH --vanilla F:\storm\src\download_rasters.R - 如果任务已经在运行,我将其设置为“并行运行新实例”
现在,我是批处理文件和任务调度的新手,但这里有一些故障排除线索:
- 如果我将任务安排为每小时运行一次,代码将第一次成功运行,但在第一个实例完成之前(大约 4 小时后)它不会再次运行,因此最终只会每 4 小时运行一次。
- 我尝试启动 R Studio GUI 的两个单独实例并在两个单独实例中运行代码:它工作正常。这表明代码本身不会锁定文件,并且可以使用相同的密钥同时调用 API。
- 我安排了两个不同的任务,调用了两个不同的批处理文件,每个批处理文件调用了具有不同输出目录的不同脚本文件:它成功了。
- 我安排了两个不同的任务,以 5 分钟的间隔调用同一个批处理文件:第一个运行,第二个没有。
- 我也尝试了 Rcmd.exe 以防万一基于另一个线程,但它没有解决问题
我的猜测是我在批处理文件中遗漏了一些东西,它允许它从同一个批处理文件中运行不同的 R 实例,但我不知道它是什么。
【问题讨论】:
标签: r windows batch-file taskscheduler