首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >调度任务通过批处理文件运行同一个R脚本的多个重叠实例

调度任务通过批处理文件运行同一个R脚本的多个重叠实例
EN

Stack Overflow用户
提问于 2018-06-19 05:36:47
回答 1查看 1.7K关注 0票数 3

我试图每小时运行一个R脚本,从API下载数据,操作它,并写出一些产品。每次运行需要3-5小时,但我似乎无法安排一个同时成功运行多个实例的任务。

  • 我使用计划在给定时间触发的任务,然后每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
  • 如果任务已经在运行,我将其设置为“并行运行新实例”。

现在,我对批处理文件和任务调度非常熟悉,但是下面是一些疑难解答的线索:

  • 如果我将任务安排为每小时运行一次,代码将在第一次成功运行,但在第一个实例完成之前(大约4h后)它不会再次运行,因此每4h只运行一次。
  • 我试图启动两个不同的实例,并在两个不同的实例中运行代码:它工作了。这表明代码本身没有锁定文件,API可以用相同的键同时调用。
  • 我安排了两个不同的任务,调用两个不同的批处理文件,每个任务用不同的输出目录调用不同的脚本文件:它工作了。
  • 我安排了两个不同的任务,以5分钟的间隔调用同一个批处理文件:第一次运行,第二次没有。
  • 我也尝试了Rcmd.exe,只是为了防止基于另一个线程,但它没有解决这个问题。

我的猜测是,我在批处理文件中遗漏了一些东西,这将允许它从同一个批处理文件中运行独立的R实例,但我不知道它是什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-20 16:22:10

我通过使用批处理文件直接运行R命令来工作,获取脚本。

@echo off "C:\Program Files\R\R-3.4.2\bin\x64\R.exe" -e source('F:/storm\src\download_rasters.R')

这不是很好,所以更好的解决方案是受欢迎的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50921257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档