Ruby rake 任务线程优化

Ruby rake tasks thread optimization

我有一些 rake 任务需要大约每小时 运行,每个任务都必须联系一个网站,下载一个文件并将该文件导入我的数据库。

我想知道在效率和执行速度方面最好的方法是什么。 如果我认为为每个任务制作一个线程会节省我一些时间,我是否正确?通过这样做,我应该能够最大限度地减少等待服务器响应线程中最慢的线程所花费的时间。

下载文件后,我正在考虑使用 gem "parallel" 将数据从大型 csv 和 xml 文件导入数据库。

如果您有任何建议,请告诉我。

当此类文件的数量很少时,您不关心执行顺序并且可以提供一些额外的内存 - 最简单的解决方案就是通过 cron 在不同的进程中 运行 它们(例如 - gem 'whenever').

如果还有更多 - 使用一些 http gem 进行并行下载 - typhoeuscurbem-http-request