我具有此功能,该功能运行查询,然后将结果保存到给定目录中。每个结果都会保存给定月份的查询。每个查询大约需要7分钟来运行,下载和保存文件。我使用data.table的fwrite保存.csv文件。
为了加快此过程,我决定使用doParallel和foreach并行运行此过程。我打开了20个工作线程(在40个可用内核中)以运行此查询,但是,在进行一些下载“循环”后,我发现某些文件没有正确保存(0字节大小的文件),而另一些文件已正确保存(完整的文件)大小约为500 MB)。
如果我决定使用简单的for循环运行此过程,则不会遇到任何错误,但并行运行会导致不可靠的行为。