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

时间:2012-09-27 12:27:29

标签: r parallel-processing

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

我无法弄清楚是否有办法在R中执行此操作:函数'wait'不是我想要的,因为脚本作为不同的作业提交,并且每个作业都完成并写入其输出文件在不同的时间,但我实际上想要在所有输出出现后运行后续脚本。

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

你能帮我找一个解决方案吗?

非常感谢你的帮助 -fra

1 个答案:

答案 0 :(得分:1)

我认为你正在以错误的方式看待这个:

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

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

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

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