Ruby rake 任务线程优化

标签 ruby multithreading parallel-processing rake

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

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

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

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

最佳答案

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

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

关于Ruby rake 任务线程优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35039068/

相关文章:

python - 在 X 个并行子进程中执行 python 方法,其中 x 是可配置的

java - 在流管道中放置 parallel() 调用的位置重要吗?

ruby - 获取所有可能的子集 - 保持顺序

ruby-on-rails - Bundler 找不到 gem "nokogiri"的兼容版本

ruby - 如何在 ruby​​ 中实现 curry(部分函数)

python - 为什么从工作线程更新 tkinter 小部件似乎有效?

ruby-on-rails - Rails 表单创建在验证错误后提交更新

c - C程序不会终止

java - 线程变得困惑

python - R中的并行处理调用网状Python函数