停止执行R脚本,直到数据可用

时间:2016-11-10 21:18:00

标签: r batch-file

我正在尝试在R中创建两个Windows批处理文件,然后逐个运行它们。这些批处理作业将数据从数据库中导出,R脚本的其余部分将格式化导出的数据,然后将其用于其他目的。我面临的问题是我创建了批处理文件,然后使用shell命令运行作业。但是这些批处理作业需要一些时间才能完成。当它们仍在运行时,脚本的其余部分将被执行,因为它没有找到数据帧(应该由于批处理作业完成而创建),它会失败。有没有办法在R中指定在批处理作业完成且数据可用之前不应执行脚本。由于每次运行都需要不同的时间来完成作业,因此我不想使用Sleep命令。任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:0)

如果批次生成的文件已存在,只需检查每一秒

while (!file.exists(destfile)) 
{
  Sys.sleep(1)
}

这样执行就会停留在while循环中,直到文件存在。 (不需要太多资源)