在R中的所有并行作业完成后提交新脚本

在R中的所有并行作业完成后提交新脚本,r,parallel-processing,R,Parallel Processing,我有一个R脚本,它可以创建多个脚本并将这些脚本同时提交到计算机集群,在所有多个脚本都完成并将输出写入相应的文件夹后,我想自动启动另一个R脚本,该脚本可以处理这些输出 我还没有弄清楚在R中是否有这样做的方法:函数“wait”不是我想要的,因为脚本作为不同的作业提交,每个作业在不同的时间完成并写入其输出文件,但我实际上希望在所有输出出现后运行后续脚本 我想到的一种方法是计算已创建的文件,如果有正确数量的输出文件,则提交下一个脚本。然而,要做到这一点,我想我必须打开一个脚本,不时检查文件的存在,我不确

我有一个R脚本,它可以创建多个脚本并将这些脚本同时提交到计算机集群,在所有多个脚本都完成并将输出写入相应的文件夹后,我想自动启动另一个R脚本,该脚本可以处理这些输出

我还没有弄清楚在R中是否有这样做的方法:函数“wait”不是我想要的,因为脚本作为不同的作业提交,每个作业在不同的时间完成并写入其输出文件,但我实际上希望在所有输出出现后运行后续脚本

我想到的一种方法是计算已创建的文件,如果有正确数量的输出文件,则提交下一个脚本。然而,要做到这一点,我想我必须打开一个脚本,不时检查文件的存在,我不确定这是否是一个好主意,因为可能需要一天或更长的时间才能完成第一个脚本

你能帮我找到解决办法吗

非常感谢你的帮助
-fra

我认为你的看法是错误的:

  • 根本不是R问题,R恰好是批处理作业的客户机

  • 这是队列/批处理程序可以在集群上解决的问题

  • 最糟糕的情况是,您可以在shell(或R脚本)中等待/休眠,直到触及“最终条件已达到”文件

  • 相互依赖关系也可以用make表示


您使用的是什么操作系统?在Unix中,我知道还有其他调度任务可能更适合这种情况…?嗨,Chase,是的,操作系统是Linux,什么样的调度任务?我会让Dirk接管…他在这些事情上比我做得好得多,并且提到了我想到的大多数事情(和其他人)…祝你好运!嗨,德克,谢谢你。在集群中似乎没有这样做的功能,也许正如您所说,执行等待/睡眠脚本会很好,但是如何设置“最终达到条件”文件?是通过检查是否所有输出文件都存在吗?脚本的第一行:
[test-f done.txt&&rm done.txt
。最后一行:
触摸done.txt
。然后另一个脚本在[!-f done.txt]时执行
;睡觉5;完成
或其他什么。但这是一个超级黑客行为。一定要和当地专家谈谈:如果有集群,通常有更好的解决方案:slurm、torque、pbs、condor……哦,欢迎来到StackOverflow。它将进行“向上投票”(点击指向上方的三角形)和/或“接受”(点击TigkMax;只有当你问问题的人看到你)回答你认为是有用的。