Ruby rake任务线程优化

时间:2016-01-27 13:45:01

标签: ruby multithreading parallel-processing rake

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

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

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

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

1 个答案:

答案 0 :(得分:3)

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

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